一个简单实用的图片切换小例子

不经意间看到了以前写的这个小东西,就贴上来了,支持点击切换和自动轮播,供前端新手看看吧!

代码如下:

<div class="scroll_div">
    <ul class="pic">
        <li><img src="img/pic_1.jpg" /></li>
        <li><img src="img/pic_2.jpg" /></li>
        <li><img src="img/pic_3.jpg" /></li>
        <li><img src="img/pic_4.jpg" /></li>
        <li><img src="img/pic_5.jpg" /></li>
    </ul>
    <ul class="btn">
        <li>项目一</li>
        <li>项目二</li>
        <li>项目三</li>
        <li>项目四</li>
        <li>项目五</li>
    </ul>
</div>
html

此处只需将图片路径改成你本地的即可。

.scroll_div{width:1000px; height:370px; margin:0 auto; padding:10px;}
.scroll_div .pic{width:820px; height:370px; overflow:hidden; position:relative; float:left;}
.scroll_div .pic li{width:820px; height:370px; position:absolute; top:0; left:0; display:none;}
.scroll_div .btn{float:right; width:173px;}
.scroll_div .btn li{width:173px; height:66px; display:block; float:left; text-align:center; color:#fff; font:18px/100% "微软雅黑"; font-weight:bold; background:#008dd8; margin-bottom:10px; line-height:66px; cursor:pointer;}
.scroll_div .btn li.on{background:#d73737;}

li {list-style:none;}
css

 

$(function(){
        var listLen = $(".pic li").length, i=0,setInter,speen = 3000;
                       /*图片轮播*/
        $(".btn li:last").css({"margin":"0px 0px 0px 0px"});
        $(".btn li:first").addClass("on");
        $(".pic li:first").show();
        
        $(".btn li").each(function(index,element){
            $(element).click(function(){
                i = index;
                $(this).addClass("on").siblings().removeClass("on");
                $(".pic li").eq(index).animate({opacity:"show"},300).siblings().animate({opacity:"hide"},300);
            })
            $(element).hover(function(){
                clearInterval(setInter);
            },function(){
                outPlay();
            });
        })
        
        
        out_fun = function(){
            if(i < listLen){i++;}else{i=0;};
            $(".btn li").eq(i).addClass("on").siblings().removeClass("on");
            $(".pic li").eq(i).animate({opacity:"show"},300).siblings().animate({opacity:"hide"},300);
        }
        
        outPlay = function(){
            setInter = setInterval("out_fun()",speen);
        }
            outPlay();
        })
js

 

转载于:https://www.cnblogs.com/djdliu/p/3962100.html

好的,以下是一个简单例子: ``` <template> <div class="product-page"> <div class="left-container"> <div class="image-container"> <img :src="currentImage" alt="Product Image" /> </div> <div class="thumbnail-container"> <div v-for="(image, index) in images" :key="index" class="thumbnail" :class="{ active: index === activeIndex }" @click="activeIndex = index" > <img :src="image" alt="Thumbnail Image" /> </div> </div> </div> <div class="right-container"> <!-- Product information --> </div> </div> </template> <script> export default { data() { return { images: [ 'https://example.com/image1.jpg', 'https://example.com/image2.jpg', 'https://example.com/image3.jpg', ], activeIndex: 0, }; }, computed: { currentImage() { return this.images[this.activeIndex]; }, }, }; </script> <style> .product-page { display: flex; justify-content: space-between; align-items: flex-start; } .left-container { width: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .image-container { width: 100%; display: flex; justify-content: center; align-items: center; margin-bottom: 20px; } .image-container img { max-width: 100%; } .thumbnail-container { display: flex; justify-content: center; align-items: center; } .thumbnail { margin-right: 10px; cursor: pointer; opacity: 0.5; transition: opacity 0.3s ease; } .thumbnail.active { opacity: 1; } </style> ``` 这个例子中,我们定义了一个 `images` 数组来存储商品页左侧的多个图片链接,同时定义了一个 `activeIndex` 来表示当前选中的图片的索引。在模板中,我们使用 `v-for` 遍历 `images` 数组来渲染缩略图,并且给每个缩略图绑定 `@click` 事件来更新 `activeIndex` 的值。通过计算属性 `currentImage`,我们可以根据 `activeIndex` 来获取当前选中的图片链接,并将其绑定到商品页左侧的图片容器上。最后,通过 CSS 样式来美化商品页的布局和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值