简体   繁体   English

更改图像样式和标题

[英]Change image style and title

I am new to javascript and jquery. How can I make the main image change when clicking on the image below, and also change the title for each image?我是 javascript 和 jquery 的新用户。如何在点击下图时更改主图,同时更改每张图片的标题?

I managed to make the picture change, but I also want to add styles that will also change for everything and got stuck with the title我设法更改了图片,但我还想添加 styles,它也会更改所有内容并卡在标题中

 $('.img-to-select__item').click(function () { $('.main-image > img').attr('src', $(this).children('img').attr('src')); });
 .custom-slider { text-align: center; }.main-image > img { margin-top: 5px; width: 50px; border-radius: 100px; box-shadow: 0 0 0 3px pink, 0 0 13px #333; }.img-to-select >.img-to-select__item > img { width: 30px; border-radius: 100px; height: 100%; }.img-to-select { overflow: hidden; display: flex; justify-content: space-around; }.img-to-select >.img-to-select__item { display: flex; justify-content: space-around; }.img-to-select >.img-to-select__item.selected { height: 100%; border-radius: 100px; border: 3px solid pink; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="custom-slider-section"> <div class="custom-container"> <div class="custom-slider"> <div class="custom-slider__title"> <span>Title </span> </div> <div class="main-image"> <img src="https://i.picsum.photos/id/973/200/300.jpg?hmac=gFjS6R63ZUmM9pkLFyPxuEmsxvZ_e8VJxB3mcXpvTUQ"> </div> <div class="img-to-select"> <div class="img-to-select__item selected"> <img src="https://i.picsum.photos/id/973/200/300.jpg?hmac=gFjS6R63ZUmM9pkLFyPxuEmsxvZ_e8VJxB3mcXpvTUQ"> </div> <div class="img-to-select__item"> <img src="https://i.picsum.photos/id/732/200/300.jpg?hmac=mBueuWVJ8LlL-R7Yt9w1ONAFVayQPH5DzVSO-lPyI9w"> </div> <div class="img-to-select__item"> <img src="https://i.picsum.photos/id/230/200/300.jpg?hmac=pyhlpgJN2oBeEzhJbnJYrCsLoJM6MKd_NUQGIQhVx5k"> </div> <div class="img-to-select__item"> <img src="https://i.picsum.photos/id/377/200/300.jpg?hmac=veEWg3ApI7rkKqMF6MuaWBmxPgnEe-Ar9eDdMG3q-kk"> </div> </div> </div> </div> </div>

To change styles, use addClass and removeClass .要更改 styles,请使用addClassremoveClass And for the title, just add a new attribute that will change along with the picture而对于标题,只需添加一个会随图片变化的新属性

 $('.img-to-select__item').click(function () { $('.img-to-select__item').removeClass('selected'); $(this).addClass('selected'); $('.main-image > img').attr('src', $(this).children('img').attr('src')); $('.custom-slider__title > span').html($(this).children('img').attr('data-title')); });
 .custom-slider { text-align: center; }.main-image > img { margin-top: 5px; width: 50px; border-radius: 100px; box-shadow: 0 0 0 3px pink, 0 0 13px #333; }.img-to-select >.img-to-select__item > img { width: 30px; border-radius: 100px; height: 100%; }.img-to-select { overflow: hidden; display: flex; justify-content: space-around; }.img-to-select >.img-to-select__item { display: flex; justify-content: space-around; }.img-to-select >.img-to-select__item.selected { height: 100%; border-radius: 100px; border: 3px solid pink; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="custom-slider-section"> <div class="custom-container"> <div class="custom-slider"> <div class="custom-slider__title"> <span>Title 1 </span> </div> <div class="main-image"> <img src="https://i.picsum.photos/id/973/200/300.jpg?hmac=gFjS6R63ZUmM9pkLFyPxuEmsxvZ_e8VJxB3mcXpvTUQ" data-title="Title 1"> </div> <div class="img-to-select"> <div class="img-to-select__item selected"> <img src="https://i.picsum.photos/id/973/200/300.jpg?hmac=gFjS6R63ZUmM9pkLFyPxuEmsxvZ_e8VJxB3mcXpvTUQ" data-title="Title 1"> </div> <div class="img-to-select__item"> <img src="https://i.picsum.photos/id/732/200/300.jpg?hmac=mBueuWVJ8LlL-R7Yt9w1ONAFVayQPH5DzVSO-lPyI9w" data-title="Title 2"> </div> <div class="img-to-select__item"> <img src="https://i.picsum.photos/id/230/200/300.jpg?hmac=pyhlpgJN2oBeEzhJbnJYrCsLoJM6MKd_NUQGIQhVx5k" data-title="Title 3"> </div> <div class="img-to-select__item"> <img src="https://i.picsum.photos/id/377/200/300.jpg?hmac=veEWg3ApI7rkKqMF6MuaWBmxPgnEe-Ar9eDdMG3q-kk" data-title="Title 4"> </div> </div> </div> </div> </div>

For Adding the Title:添加标题:

$(".custom-slider__title span").text($(this).children('img').data("title"));

To Add a Class to the main image将 Class 添加到主图像

$('.main-image > img').addClass("my-class");

To Remove a Class from the main image从主图像中删除 Class

$('.main-image > img').removeClass("my-class");

These commands can be chained.这些命令可以链接起来。 ie IE

$('.main-image > img').attr('src', $(this).children('img').attr('src')); }).removeClass("old-class").addClass("new-class");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM