首页 > 技术文章 > 音悦商城jQuery部分

d-hx 2021-11-15 19:52 原文

1.轮播图

 

 

    <!-- 首先要把jQuery的文件链接进来 -->
    <script src="./js/jquery-3.3.1.min.js"></script>
    <!-- 链接index页面的js -->
    <script src="js/index.js"></script>
jQuery部分:
$(function(){ // current 当前的图片 var current = 0; var count = $(".pics-list>li").length; function move(){ // 图片下面的点点随着图片跑 $(".points-list>li").eq(current).addClass("active").siblings().removeClass("active"); // -1200*current+"px"==》一个current*-1200是往左边跑一张图, // 当current为变量的时候,就是乘以多少(图片的宽度)就是第几张图,最后+"px"(像素) $(".pics-list").css("left",-1200 * current +"px"); } // 1 function next(){ if (current < count -1) { current++; }else{ current = 0; } move(); } // 2 var timer = setInterval(() =>{ next(); },3000); $(".banner-box").hover(function(){ // 鼠标的移入静止,暂停轮播 clearInterval(timer); },function(){ // 鼠标移出时,轮播继续 timer = setInterval(() =>{ next(); },3000); }); $(".points-list>li").click(function(){ // 点击当前的索引 current = $(this).index(); move(); }); $(".buts>.next").click(function(){ // count - 1 是因为索引是从0开始的 if (current < count - 1) { current++; }else{ current = 0; } move(); }); // prev 上一个 $(".buts>.prev").click(function(){ // count - 1 是因为索引是从0开始的 if (current > 0) { current--; }else{ current = count - 1; } move(); // $(".points-list>li").eq(current).addClass("active").siblings().removeClass("active"); // $(".pics-list").css("left",-1200 * current +"px"); }); }); $(function(){ $(".top-list .title").click(function(){ $(this).addClass("active").siblings().removeClass("active"); // $(this).index() 点击当前的索引值--让它显示 $(".top-list-main ul").eq($(this).index()).show().siblings().hide(); }); });

2.放大镜的写法与应用

jQuery部分:

$(function(){
    // 放大镜的写法与应用
    $(".small_box").hover(function(){
        // find =》向内查找子节点
        $(this).find(".float_layer").show();
        $(".big_box").show();
    },function(){
        $(this).find(".float_layer").hide();
        $(".big_box").hide();
    });

    $(".small_box").mousemove(function(e){
        // 鼠标位置
        var x = e.offsetX, y = e.offsetY;
        // 小黑框的左上角位置,-100 为保证让鼠标永远在小黑裤的中间位置
        var left = x - 100,top = y - 100;
        // 让小黑框始终在图片中,超出不显示
        if (left < 0) {
            left = 0;
        }
        if (top < 0) {
            top = 0;
        }
        if (left > 200) {
            left = 200;
        }
        if (top > 200) {
            top = 200;
        }
        // 小黑框
        $(this).find(".float_layer").css({
            top:top+"px",
            left:left+"px",
          });
        //   大图片
        $(".big_box img").css({
            top:-2 * top +"px",
            left:-2 * left +"px",
        })
    });
});

3.点击按钮实现切换

 

 

 

 

jQuery部分:

$(function(){
    $(".load-more").click(function(){
        
        // 方法一
        // var $list = $(this).closest(".filter-list");
        // 获取高度
        // var height = $list.css("height");
        // if (height==="30px") {
        //     $(this).addClass("active");
        //     // parent    closest
        //     $list.css({"overflow":"auto","height":"auto"}); 
        // } else {
        //     $(this).removeClass("active");
        //     $list.css({"overflow":"auto","height":"30px"}); 
        // }

        // 方法二
        // hasClass ()  =》是jQuery中的一个内置方法,用于检查具有指定类名的元素是否存在。
       if ($(this).hasClass("active")) { //active是收起
        //   隐藏内容==》 当显示时,隐藏其他内容  判断有没有这个类,
        // closest()==》 找第一个匹配的父节点  方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。
            $(this).removeClass("active").closest(".filter-list").css({"overflow":"hidden","height":"30px"});
       } else {
        //    显示内容
            $(this).addClass("active").closest(".filter-list").css({"overflow":"auto","height":"auto"})
       }
    });
});

 

 

推荐阅读