【js与jquery】产品列表横向滚动效果

1.效果如图所示:

 

2.html代码:

<div class="global_module prolist">
           <h3>新款上市</h3>
            <div  class="prolist_content">
                <ul>
                    <li>
                    <a href="detail.html"><img src="images/img_1.jpg" alt="" /></a><span>免烫高支棉衬1</span><span>$120.00</span>
                    </li>
                    <li>
                    <a href="detail.html"><img src="images/img_2.jpg" alt="" /></a><span>免烫斜纹衬衣</span><span>$129.00</span>
                    </li>
                    <li>
                    <a href="detail.html"><img src="images/img_3.jpg" alt="" /></a><span>棉小方格正装衬衣</span><span>$129.00</span>
                    </li>
                    <li>
                      <a href="detail.html"><img src="images/img_4.jpg" alt="" /></a><span>小米兰格衬衣蓝色</span><span>$129.00</span>
                    </li>
                    <li>
                       <a href="detail.html"><img src="images/img_1.jpg" alt="" /></a><span>免烫高支棉衬衣2</span><span>$120.00</span>
                    </li>
                    <li>
                        <a href="detail.html"><img src="images/img_2.jpg" alt="" /></a><span>免烫斜纹衬衣</span><span>$129.00</span>
                    </li>
                    <li>
                      <a href="detail.html"><img src="images/img_3.jpg" alt="" /></a><span>棉小方格正装衬衣</span><span>$129.00</span>
                    </li>
                    <li>
                      <a href="detail.html"><img src="images/img_4.jpg" alt="" /></a><span>小米兰格衬衣蓝色</span><span>$129.00</span>
                    </li>
                    <li>
                       <a href="detail.html"><img src="images/img_1.jpg" alt="" /></a><span>免烫高支棉衬衣3</span><span>$120.00</span>
                    </li>
                    <li>
                        <a href="detail.html"><img src="images/img_2.jpg" alt="" /></a><span>免烫斜纹衬衣</span><span>$129.00</span>
                    </li>
                    <li>
                      <a href="detail.html"><img src="images/img_3.jpg" alt="" /></a><span>棉小方格正装衬衣</span><span>$129.00</span>
                    </li>
                    <li>
                      <a href="detail.html"><img src="images/img_4.jpg" alt="" /></a><span>小米兰格衬衣蓝色</span><span>$129.00</span>
                    </li>
                </ul>
            </div>
            <p class="module_left_right"><img class="goLeft" src="images/left.gif" alt="" />
               <img class="goRight" src="images/right.gif" alt="" />
           </p>
</div>
 

3.jquery代码:
/*新款上市模块横向滚动*/
//当单击产品列表右上角的"左右"按钮时,产品列表就可以按照单击的方向横向滚动
$(function(){
    var page = 1;
    var i = 4; //每版放4个图片
	var len = $(".prolist_content ul li").length;
	var page_count = Math.ceil(len / i) ;   //只要不是整数,就往大的方向取最小的整数
	var none_unit_width = $(".prolist").width(); //获取框架内容的宽度,不带单位
	var $parent = $(".prolist_content"); 
    //向右 按钮
    $(".goRight").click(function(){ 
		if( !$parent.is(":animated") ){
			if( page == page_count ){  //已经到最后一个版面了,如果再向后,必须跳转到第一个版面。
				$parent.animate({ left : 0}, 800); //通过改变left值,跳转到第一个版面
				page = 1;
			}else{
				$parent.animate({ left : '-='+none_unit_width}, 800);  //通过改变left值,达到每次换一个版面
				page++;
			}
		}
   });
    //往左 按钮
    $(".goLeft").click(function(){
	    if( !$parent.is(":animated") ){
			if( page == 1 ){  //已经到第一个版面了,如果再向前,必须跳转到最后一个版面。
				$parent.animate({ left : '-='+none_unit_width*(page_count-1)}, 800); //通过改变left值,跳转到最后一个版面
				page = page_count;
			}else{
				$parent.animate({ left : '+='+none_unit_width }, 800);  //通过改变left值,达到每次换一个版面
				page--;
			}
		}
    });
});


 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 jQuery 的 `mousewheel` 插件来实现鼠标滚轮控制横向滚动条的滚动。 首先,需要在页面中引入 `jquery.mousewheel.js` 文件: ```html <script src="/path/to/jquery.mousewheel.js"></script> ``` 然后,可以通过以下方式来使用 `mousewheel` 插件: ```javascript $(selector).mousewheel(function(event, delta, deltaX, deltaY) { // 处理滚轮事件 }); ``` 其中,`selector` 是要绑定滚轮事件的元素的选择器,`deltaX` 变量表示横向滚动的距离,当鼠标滚轮向左滚动时,`deltaX` 为负数;当鼠标滚轮向右滚动时,`deltaX` 为正数。 例如,下面的代码可以使用鼠标滚轮向左或向右滚动一个横向滚动条: ```javascript $('#scrollbar').mousewheel(function(event, delta, deltaX, deltaY) { // 将滚动条向左或向右滚动一段距离 $('#scrollbar').scrollLeft($('#scrollbar').scrollLeft() - deltaX); }); ``` 希望这能帮到你! ### 回答2: 要实现在jquery中使用鼠标滚轮滚动横向滚动条,首先需要引入jquery库文件。接下来,通过jquery选择器选中需要添横向滚动条的元素。然后,使用jquery的scrollLeft()方法获取当前元素的水平滚动位置。 接着,使用jquery的on()方法监听鼠标滚轮事件。在事件处理程序中,调用event对象的preventDefault()方法阻止默认的滚轮行为,然后判断滚轮滚动的方向。如果向上滚动,则将scrollLeft属性减去一个固定值,使元素向左滚动;如果向下滚动,则将scrollLeft属性上一个固定值,使元素向右滚动。 最后,使用jquery的animate()方法实现平滑的滚动效果。在滚动处理程序中,使用animate()方法将scrollLeft属性过渡到新的值,并设置过渡时间和缓动效果。 示例代码如下: ```javascript // 引入jquery库文件 // 选中需要添横向滚动条的元素 var element = $('.scrollable-element'); // 获取当前水平滚动位置 var scrollPosition = element.scrollLeft(); // 监听鼠标滚轮事件 element.on('mousewheel DOMMouseScroll', function(event) { // 阻止默认的滚轮行为 event.preventDefault(); // 判断滚轮滚动方向 var delta = event.originalEvent.wheelDelta || -event.originalEvent.detail; if (delta > 0) { // 向上滚动 scrollPosition -= 50; // 固定值,调整滚动速度 } else { // 向下滚动 scrollPosition += 50; // 固定值,调整滚动速度 } // 平滑滚动效果 element.stop().animate({ scrollLeft: scrollPosition }, 500); // 过渡时间和缓动效果,可根据需要调整 }); ``` 以上就是使用jquery实现横向滚动条使用鼠标滚轮滚动的方法。根据实际需求,可以调整滚动速度和过渡效果。 ### 回答3: jQuery可以使用插件来实现横向滚动条使用鼠标滚轮滚动的功能。常用的插件有mCustomScrollbar和perfect-scrollbar等。 使用mCustomScrollbar插件,首先需要引入jQuery和mCustomScrollbar的相关文件。然后,在需要横向滚动条的元素上添一个class,比如"scrollbar"。接着,使用以下代码来初始化滚动条: $(".scrollbar").mCustomScrollbar({ horizontalScroll: true, // 启用横向滚动 axis: "x", // 指定滚动轴为水平方向 mouseWheel: { // 鼠标滚轮参数设置 enable: true, // 启用鼠标滚轮滚动 axis: "x" // 指定滚动轴为水平方向 } }); 这样,当鼠标滚轮滚动时,横向滚动条就会相应地进行滑动。 对于perfect-scrollbar插件,使用方法类似。首先引入jQuery和perfect-scrollbar的相关文件,然后在需要横向滚动条的元素上添一个class,比如"scrollbar"。接着,使用以下代码来初始化滚动条: $(".scrollbar").perfectScrollbar({ wheelSpeed: 0.5, // 设置滚动速度,数值越大滚动速度越快 wheelPropagation: true, // 是否允许滚动滚动时冒泡到父元素 horizontal: true // 启用横向滚动 }); 这样,鼠标滚轮滚动时,横向滚动条就会相应地进行滑动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值