当前位置: 代码迷 >> JavaScript >> 通过jquery的prev/next方法滚动显示图片的有关问题
  详细解决方案

通过jquery的prev/next方法滚动显示图片的有关问题

热度:151   发布时间:2012-08-09 15:59:21.0
通过jquery的prev/next方法滚动显示图片的问题
通过jquery的prev/next方法获得上一个、下一个显示或隐藏的LI标签,再控制标签的CSS类来实现LI标签的滚动显示。
类似的代码我以前用过,是正常的。
今天用到一个新网站发现显示不正常,好像是prev/next方法无法正常获取元素,求指点。
测试网站:http://www.xdnz120.com/bb/4

HTML代码
HTML code

<div id="smallpic">
<a href="javascript:viewPre()"><img src="images/left.gif" width="35" height="154" class="left" /></a>
<ul id="jinxuan">
 <li class="view"><a href="javascript:void(0)" onclick="javascript:viewbig('/bb/upfile/2012720115958.jpg')"><img src="/bb/upfile/2012720115958_f.jpg" /></a></li>
 <li class="view"><a href="javascript:void(0)" onclick="javascript:viewbig('/bb/upfile/2012720112159.jpg')"><img src="/bb/upfile/2012720112159_f.jpg" /></a></li>
<li class="view"><a href="javascript:void(0)" onclick="javascript:viewbig('/bb/upfile/2012720114059.jpg')"><img src="/bb/upfile/2012720114059_f.jpg" /></a></li>
<li class="hide"><a href="javascript:void(0)" onclick="javascript:viewbig('/bb/upfile/2012720115958.jpg')"><img src="/bb/upfile/2012720115958_f.jpg" /></a></li>
<li class="hide"><a href="javascript:void(0)" onclick="javascript:viewbig('/bb/upfile/2012720112159.jpg')"><img src="/bb/upfile/2012720112159_f.jpg" /></a></li>
<li class="hide"><a href="javascript:void(0)" onclick="javascript:viewbig('/bb/upfile/2012720114059.jpg')"><img src="/bb/upfile/2012720114059_f.jpg" /></a></li>
</ul>
<a href="javascript:viewNext()"><img src="images/right.gif" width="35" height="154" class="left" /></a>
</div>



javascript代码:
JScript code

    function viewPre()
   {
       if ($("#jinxuan li.view").prev(".hide").length > 0)
        {
            var views = $("#jinxuan li.view");
            var view = views[views.length - 1];
            var prevview = $(view).prev(".hide");
            prevview.removeClass("hide");
               prevview.addClass("view");
               $(view).removeClass("view");
               $(view).addClass("hide");
        }
   }
   
   function viewNext()
   {
       if ($("#jinxuan li.view").next(".hide").length > 0)
        {
            var view = $("#jinxuan li.view")[0];
            var nextview=$(view).next(".hide");
            nextview.removeClass("hide");
               nextview.addClass("view");
               $(view).removeClass("view");
               $(view).addClass("hide");
        }
   }
   
   function viewbig(file)
   {
           $("#bcimg").attr("src",file);
   }




------解决方案--------------------
正确的啊 可以切换啊,,,,哪里不能获取 正常得很 ....楼主到底哪里有问题???可以站内信 我的测试环境 火狐
------解决方案--------------------
JScript code
    function viewPre() {
        var v = $("#jinxuan li.view"), h = v.eq(0).prev();
        if (h.size() > 0) {
            h.attr('class', 'view');
            v.filter(':last').attr('class', 'hide');
        }
    }

    function viewNext() {
        var v = $("#jinxuan li.view"), h = v.filter(':last').next();
        if (h.size() > 0) {
            h.attr('class', 'view');
            v.eq(0).attr('class', 'hide');
        }
    } 
  相关解决方案