#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня следующая структура html
<div id="slide">
<div style=" position: absolute; left: 0; right: 0; margin-left: auto; margin-right: auto;overflow:hidden;">
<div class='DS_Banners_Topo' id='DS_Banners_Topo_1'>
<a href='#' target='_self'><img alt='Slide1' src='http://www.dotstore.com.br/74446_salessuplementos/banners/slide1.jpg' /></a>
</div>
<div class='DS_Banners_Topo' id='DS_Banners_Topo_2'>
<a href='#' target='_self'><img alt='Slide2' src='http://www.dotstore.com.br/74446_salessuplementos/banners/slide2.jpg' /></a>
</div>
<div class='DS_Banners_Topo' id='DS_Banners_Topo_3'>
<a href='#' target='_self'><img alt='Slide3' src='http://www.dotstore.com.br/74446_salessuplementos/banners/slide3.jpg' /></a>
</div>
</div>
</div>
Необходимо превратить это в слайд, чтобы изменить что-либо в их структуре. Сохранение ваших классов. Возможно ли это сделать в их HTML-структуре?
ДЕМОНСТРАЦИОННЫЙ КОД JSFiddle
Комментарии:
1. Попытка представить эту структуру в форме html с помощью какого-либо плагина jquery jsfiddle.net/JoaoFelipePego/b4YHe
2. Что-то вроде этого: jsfiddle.net/robertrozas/NcPjg/1
3. @user3743128 я вообще не вижу javascript, вам следует изменить заголовок вопроса на «не мог бы кто-нибудь, пожалуйста, создать мне слайдер?»
Ответ №1:
Если вы не хотите менять свою структуру, но можете изменить css, вот пример того, что вы могли бы сделать:
CSS
#slide {
margin: 22px 0 0 0;
position: relative;
height:200px;
overflow: hidden;
}
#slide>div{
position: relative;
}
.DS_Banners_Topo{
position: absolute;
top:0;
width:100%;
overflow: hidden;
}
.DS_Banners_Topo img{
width:100%;
display: block;
}
JS
$(document).ready(function(){
//current slide index
var counter = 0,
slides = $('.DS_Banners_Topo');
//position slides
slides.each(function(i,e){ $(this).css('left',i-1 '00%'); });
//change slide every 1000ms
setInterval(function(){
counter = counter>slides.length-3 ? 0 : counter;
$('#slide>div').animate({'left':-counter '00%'});
},1000);
});
Демонстрация JS Fiddle
Обратите внимание, что я удалил ненужные встроенные стили для div внутри #slide
Ответ №2:
Можно было бы использовать jQuery или другую библиотеку, чтобы легко изменять видимость каждого из этих divs. Просто Google jQuery Carousel, и вы найдете бесконечное количество решений вашей проблемы. Большинство сохранит все существующие классы.
Комментарии:
1. Google jQuery Carousel использует структуру
<ul>
и<li>
для работы со слайдом мне нужно, чтобы он мог адаптировать мою HTML-структуру, которая у меня есть.