javascript - 如何使用比较浏览器窗口大小的功能在 slider 中将图像交换到另一个图像?

标签 javascript jquery html css frontend

我有这样的 html:

<body>

 <ul class="slider">
  <li class="slide"><img src="img/Slide-01 web.png" alt="Slide 1" /></li>
  <li class="slide"><img src="img/Slide-02-web.jpg" alt="Slide 2" /></li>
  <li class="slide"><img src="img/Slide-03-web.jpg" alt="Slide 3" /></li>
  <li class="slide"><img src="img/Slide-04-web.jpg" alt="Slide 4" /></li>

</ul>

我必须设置一个非常简单的函数,就像这样,但肯定这是错误的:

<script>
        $(window).width(function(){
            var window = $(this).width();
            if(window < 650) {
                $(".slide img:nth-child(1)").attr("src","img/Slide-Wella-Landing-Collezioni-2015-Mobile-Web-01.jpg");
                $(".slide img:nth-child(2)").attr("src","img/Slide-Wella-Landing-Collezioni-2015-Mobile-Web-02.jpg");
                $(".slide img:nth-child(3)").attr("src","img/Slide-Wella-Landing-Collezioni-2015-Mobile-Web-03.jpg");
                $(".slide img:nth-child(4)").attr("src","img/Slide-Wella-Landing-Collezioni-2015-Mobile-Web-04.jpg");
            }
            if(window >= 650) {
                $(".slide img:nth-child(1)").attr("src","img/Slide-01 web.png");
                $(".slide img:nth-child(2)").attr("src","img/Slide-02-web.png");
                $(".slide img:nth-child(3)").attr("src","img/Slide-03-web.png");
                $(".slide img:nth-child(4)").attr("src","img/Slide-04-web.png");
            }

        });
    </script>

我该如何解决?

最佳答案

您正在以错误的方式分配您的 nth-child 像这样尝试更改正文的 width 以查看更改。像这样使用 nth-child Fiddle

 $(".slide:nth-child(1) img").attr("src","http://placekitten.com/300/305");

$(window).width(function(){
            var win = $('body').width();
            if(win < 650) {
                $(".slide:nth-child(1) img").attr("src","http://placekitten.com/300/305");
                $(".slide img:nth-child(2)").attr("src","http://placekitten.com/300/306");
                $(".slide img:nth-child(3)").attr("src","http://placekitten.com/300/307");
                $(".slide img:nth-child(4)").attr("src","http://placekitten.com/300/308");
            }
            if(win >= 650) {
                $(".slide:nth-child(1) img").attr("src","http://placekitten.com/300/309");
                $(".slide img:nth-child(2)").attr("src","http://placekitten.com/300/310");
                $(".slide img:nth-child(3)").attr("src","http://placekitten.com/300/311");
                $(".slide img:nth-child(4)").attr("src","http://placekitten.com/300/312");
            }

        });
body{
    width:600px;
    
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<body>

 <ul class="slider">
  <li class="slide"><img src="http://placekitten.com/300/301" alt="Slide 1" /></li>
  <li class="slide"><img src="http://placekitten.com/300/302" alt="Slide 2" /></li>
  <li class="slide"><img src="http://placekitten.com/300/303" alt="Slide 3" /></li>
  <li class="slide"><img src="http://placekitten.com/300/304" alt="Slide 4" /></li>

</ul>
</body>

关于javascript - 如何使用比较浏览器窗口大小的功能在 slider 中将图像交换到另一个图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999230/

相关文章:

javascript - 在没有隔离范围的指令中获取双向绑定(bind)

Javascript nodeJs Postgres pg 单元测试

jquery - 为什么 jQuery 不提供 .firstChild 方法?

html - 如何在 Rails 中处理 'name' 图像?

javascript - 侧边菜单滚动在 safari 上滞后(ios)

javascript - 所有 Google Maps v3 标记的通用事件处理程序

javascript - 在没有 node.js 的情况下写入 .json 文件

javascript - 如何将 'fadein' 和 'animate' 文本放在页面中间?

jquery - Maple 浏览器中的 css3 属性

html - 找到父 css 并更改其中的代码 [Wordpress]