Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑难] 首页资讯幻灯片的图片变形,怎么办?

[复制链接]
司仪一号 发表于 2007-8-18 13:49:39 | 显示全部楼层 |阅读模式
我的网站的首页
http://www.zh41.com

的资讯幻灯片的图片(左上角那个大的)调用明显变形了,显得很模糊,我该怎么办呢?

在线等回答哦!
skyII劲II 发表于 2007-8-18 14:06:53 | 显示全部楼层
你的站访问超级不正常,那图片变形也很正常,图片大的你可以设置成裁减显示,但是那样又只见图片一半,小的你不让他自动放发他又不好看
回复

使用道具 举报

 楼主| 司仪一号 发表于 2007-8-18 14:10:14 | 显示全部楼层

是啊,我正在为我的站的情况发愁呢,不知道该怎么办?

是啊,我正在为我的站的情况发愁呢,不知道该怎么办?他们说是服务器的问题,我不大清楚

那个图片大小在代码里面设置还是在后台设置呢?

这是代码<div class="asideL">
                        <!--图文资讯幻灯片-->
                <!--{block name="spacenews" parameter="haveattach/1/showattach/1/order/i.dateline DESC/limit/0,4/cachetime/11930/cachename/picnews/tpl/data"}-->
                        <div id="slideimg" class="block" style="height: 337px; overflow: hidden;">
                        <!--{if !empty($_SBLOCK['picnews'])}-->
                        <script type="text/javascript" language="javascript">
                        <!--                       
                        var xsTextBar = 1; //是否显示文字链接,1为显示,0为不显示
                        var xsPlayBtn = 0; //是否显示播放按钮,1显示,0为不显示
                        var xsImgSize = new Array(388,300); //幻灯图片的尺寸,格式为“宽度,高度”
               
                        var xsImgs = new Array();
                        var xsImgLinks = new Array();
                        var xsImgTexts = new Array();
                       
                        <!--{eval $i=0;}-->
                        <!--{loop $_SBLOCK['picnews'] $key $value}-->
                        xsImgs[$i] = "$value[a_thumbpath]";
                        xsImgLinks[$i] = "<!--{eval echo url_remake($value['url']);}-->";
                        xsImgTexts[$i] = "$value[subject]";
                        <!--{eval $i++;}-->
                        <!--{/loop}-->
                        //-->
                        </script>
                        <script language="javascript" type="text/javascript" src="{S_URL}/include/js/slide.js"></script>
                <!--{/if}-->
                        </div>
回复

使用道具 举报

skyII劲II 发表于 2007-8-18 14:22:10 | 显示全部楼层
var xsImgSize = new Array(388,300); //幻灯图片的尺寸,格式为“宽度,高度”

图片都回自动扩大或缩小成388,300

评分

1

查看全部评分

回复

使用道具 举报

 楼主| 司仪一号 发表于 2007-8-18 16:13:35 | 显示全部楼层

是啊,但是就出现了图片模糊

是啊,但是就出现了图片模糊,我需要的是怎样解决
回复

使用道具 举报

wow0001 发表于 2008-2-27 12:35:57 | 显示全部楼层

我解决了一下,先缩略然后剪切,效果还可以

是通过修改include/js/slide.js实现的。

修改后的slide.js内容如下。


document.write("<style type=\"text/css\">#slidearea { width:" + xsImgSize[0] + "px; height:" + xsImgSize[1] + "px; overflow: hidden; margin: 0 auto; text-align: center;background: #000000; } #slidefooter {width:" + xsImgSize[0] + "px; } </style>")
document.write("<div id=\"slidearea\">")
if (xsImgs.length != 0) {
document.write("<a href=\""+ xsImgLinks[0] +"\" target=\"_blank\"><img src=\"" + xsImgs[0] + "\" onload=\"imgLoadNotify(this," + xsImgSize[0] + "," + xsImgSize[1] +");\" \/><\/a>")
}
document.write("<\/div>")
if (xsTextBar != 0) {
document.write("<div id=\"slidefooter\">")
if (xsPlayBtn != 0) {
  document.write("<a id=\"slideplay\" title=\"播放\" href=\""+ xsImgLinks[0] +"\">播放<\/a>")
}
if (xsImgTexts.length != 0) {
  document.write("<a id=\"slideprev\" title=\"上一幅\" href=\"#\" onclick=\"rewind();return false\">&laquo;<\/a><a id=\"slidenext\" title=\"下一幅\" href=\"#\" onclick=\"forward();return false\" style=\"text-align: center; text-decoration: none;\">&raquo;<\/a><p id=\"slidetext\"><a href=\""+ xsImgLinks[0] +"\" target=\"_blank\">"+ xsImgTexts[0] +"<\/a><\/p>")
}
document.write("<\/div>")
}

var arrPreload = new Array();
var begImg  = 0;
var arrPreload = new Array();
var spd = 2;
function init()
{
    preloadRange(0,_PRELOADRANGE-1);
    curImg = begImg;
    if (curImg < 0 || curImg > xsImgs.length - 1)
curImg = xsImgs.length - 1;
    changeSlide();
    setTimeout("play()", 3000)
}

var curImg = 0;
var timerId = -1;
var interval = 3500;
var imgIsLoaded = false;
var current_transition = 15;
var flag = true;
var bFirst = false;

var transitions = new Array;
transitions[0] = "progidXImageTransform.Microsoft.Fade(duration=1)";
transitions[1] = "progidXImageTransform.Microsoft.Blinds(Duration=1,bands=20)";
transitions[2] = "progidXImageTransform.Microsoft.Checkerboard(Duration=1,squaresX=20,squaresY=20)";
transitions[3] = "progid:DXImageTransform.Microsoft.Strips(Duration=1,motion=rightdown)";
transitions[4] = "progid:DXImageTransform.Microsoft.Barn(Duration=1,orientation=vertical)";
transitions[5] = "progid:DXImageTransform.Microsoft.GradientWipe(duration=1)";
transitions[6] = "progid:DXImageTransform.Microsoft.Iris(Duration=1,motion=out)";
transitions[7] = "progid:DXImageTransform.Microsoft.Wheel(Duration=1,spokes=12)";
transitions[8] = "progid:DXImageTransform.Microsoft.Pixelate(maxSquare=10,duration=1)";
transitions[9] = "progid:DXImageTransform.Microsoft.RadialWipe(Duration=1,wipeStyle=clock)";
transitions[10] = "progid:DXImageTransform.Microsoft.RandomBars(Duration=1,orientation=vertical)";
transitions[11] = "progid:DXImageTransform.Microsoft.Slide(Duration=1,slideStyle=push)";
transitions[12] = "progid:DXImageTransform.Microsoft.RandomDissolve(Duration=1,orientation=vertical)";
transitions[13] = "progid:DXImageTransform.Microsoft.Spiral(Duration=1,gridSizeX=40,gridSizeY=40)";
transitions[14] = "progid:DXImageTransform.Microsoft.Stretch(Duration=1,stretchStyle=push)";
transitions[15] = "special case";
var transition_count = 15;
var _PRELOADRANGE = 5;
function preloadRange(intPic,intRange) {
var divStr = "";
for (var i=intPic; i<(intPic+intRange); i++) {
  arrPreload = new Image();
  arrPreload.src = xsImgs;
}
return false;
}
/*
function imgLoadNotify()
{
    imgIsLoaded = true;
}
*/
function imgLoadNotify(ImgD,imageWidth,imageHeight)
{
    imgIsLoaded = true;
//修改部分
var image=new Image();
   image.src=ImgD.src;
   if(image.width>0 && image.height>0){
  if(image.width/image.height>= imageWidth/imageHeight){
    if(image.width>imageWidth){
    // ImgD.width=imageWidth;
    // ImgD.height=(image.height*imageWidth)/image.width;
     ImgD.height=imageHeight;
     ImgD.width=(image.width*imageHeight)/image.height;
    }else{
     ImgD.width=image.width;
     ImgD.height=image.height;
    }
  }
  else{
    if(image.height>imageHeight){
    // ImgD.height=imageHeight;
    // ImgD.width=(image.width*imageHeight)/image.height;
     ImgD.width=imageWidth;
     ImgD.height=(image.height*imageWidth)/image.width;
    }else{
     ImgD.width=image.width;
     ImgD.height=image.height;
    }
   }
    }
}

function changeSlide(n)
{
    if (document.all)
{     
  var do_transition;
  if (current_transition == (transition_count))
  {
   do_transition = Math.floor(Math.random() * transition_count);
  }
  else
  {
   do_transition = current_transition;
  }
  document.all.slidearea.style.filter=transitions[do_transition];
  document.all.slidearea.filters[0].Apply();   
    }
   
    imgIsLoaded = false;

if (xsImgs.length !=0) {
  var slideImage = "<a href=\""+ xsImgLinks[curImg] +"\" target=\"_blank\"><img src=\"" + xsImgs[curImg] + "\" onload=\"imgLoadNotify(this," + xsImgSize[0] + "," + xsImgSize[1] +");\" /><\/a>";
  document.getElementById("slidearea").innerHTML = slideImage ;
  
  if (xsTextBar != 0) {
   var slideText = "<a href=\""+ xsImgLinks[curImg] +"\" target=\"_blank\">"+ xsImgTexts[curImg] +"<\/a>";
   document.getElementById("slidetext").innerHTML = slideText;
   if (xsPlayBtn != 0) {
    document.getElementById("slideplay").href = xsImgLinks[curImg];
   }
  }

  if (document.all)
  {   
   document.all.slidearea.filters[0].Play();  
  }
}
}
function forward()
{
imgIsLoaded = false;
if (!arrPreload[curImg+1])
{
  curImg++;
  if (curImg >= xsImgs.length)
  {
   curImg = 0;
  }
}
else
{
  curImg++;
  if (curImg >= xsImgs.length)
  {  
   curImg = 0;
  }
}
changeSlide();
}
function rewind()
{
curImg--;
if (curImg < 0)
{
  curImg = xsImgs.length-1;  
}
changeSlide();
}
function stop()
{
    window.clearInterval(timerId);
    timerId = -1;
    imgIsLoaded = true;
}
function play()
{
    if (timerId == -1)
  timerId = window.setInterval('forward();', interval);
}

init();


可以到我的网站看下效果
http://www.98zj.com

思路如标题。

评分

1

查看全部评分

回复

使用道具 举报

tonn 发表于 2008-4-20 02:33:46 | 显示全部楼层
晕,你到底改了那一部分啊?我复制了怎么不能用
麻烦楼主好人把修改部分红色标注,可以吗,谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-13 07:39 , Processed in 0.032111 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表