Слайдер не резиновый
Здравствуйте! Значит в сладере заадаптивил каритинки они теперь резиновые, но проблема в том что слайдер при этом остался статичным, то есть подключаю скрипт слайдера вся резиновость картинок пропадает, при уменьшении страницы картинки не уменьшаются, прямо не знаю что делать, никаких зацепок нет?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
var slideWidth = 980,
sliderTimer, currentSlide = 0, len;
function nextSlide() {
currentSlide++;
if (currentSlide >= len) currentSlide = 0;
$(".slidewrapper").animate({
left: -currentSlide * slideWidth
}, 800)
}
function prevSlide() {
currentSlide--;
if (currentSlide < 0) currentSlide = len - 1;
$(".slidewrapper").animate({
left: -currentSlide * slideWidth
}, 800)
}
$(function() {
len = $(".slidewrapper").children().length
$(".slidewrapper").width(len * slideWidth);
sliderTimer = setInterval(nextSlide, 3000);
$("#slider").on({
mouseenter: function() {
clearInterval(sliderTimer)
},
mouseleave: function() {
sliderTimer = setInterval(nextSlide, 3000)
}
});
$("#next_slide").click(function(event) {
event.preventDefault();
clearInterval(sliderTimer);
nextSlide()
});
$("#prev_slide").click(function(event) {
event.preventDefault();
clearInterval(sliderTimer);
prevSlide()
})
});
</script>
<style>
#slider {
max-width:973px;
height: auto;
position: relative;
overflow: hidden;
border: 3px solid rgba(75, 77, 97,0.6);
}
.clearfix {
width:100%;
height: auto;
display: block;
}
.slidewrapper{
position: absolute;
max-width:3000px;
left: 0;
top: 0;
margin: 0;
padding: 0;
}
#slider li > .img-responsive {
width:100%;
height:auto;
display: block;
}
.slidewrapper .slide {
float:left;
list-style-type: none;
max-width:977px;
}
#slider .arrows {
top:50%;
}
#slider #prev_slide {
z-index: 10000;
position: absolute;
left:0;
margin-top:-25px;
}
#slider #next_slide {
z-index: 10000;
position: absolute;
right:0;
margin-top:-25px;
}
.fa-arrow-circle-left,.fa-arrow-circle-right {
background: #000;
font-size: 50px !important;
opacity: 0.5;
border-radius: 50%;
}
.fa:hover {
opacity: 1;
}
</style>
</head>
<body>
<div id="slider">
<ul class="slidewrapper" data-current="0">
<li class="slide"><img class="img-responsive" src="http://www.optimum1.ru/images/shapka2.jpg" alt="slide1"></li>
<li class="slide"><img class="img-responsive" src="http://www.mccombs.utexas.edu/~/media/Images/MSB/Departments/IROM/Events/WSBA/Cool-Technology-Wallpaper-1-1920x1080%20cropped.jpg?h=300&w=980" alt="slide2"></li>
<li class="slide"><img class="img-responsive" src="http://timebasedsales.com/wp-content/uploads/2012/11/tbs_fejlecek_980x300_KV_industries_general.jpg" alt="slide3"></li>
</ul>
<a href="javascript: void(0)" id="prev_slide" class="arrows"><i class="fa fa-arrow-circle-left"></i></a>
<a href="javascript: void(0)" id="next_slide" class="arrows"><i class="fa fa-arrow-circle-right"></i></a>
<img src="img/cl_fix.png" alt="clear" class="clearfix">
</div>
</body>
</html>
|
Cdelphi78,
в чём резиновость то если при изменении окна li не меняют свой размер, а картинки согласно вашему css занимают всю ширину li |
ААА, отключите скрипт, не отключил.посмотрите, у меня работает.
|
Цитата:
|
Вот, посмотрите, сейчас картинки резиновые, подключаю скрипт начинаются проблемы с резиной.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<!--<script>
var slideWidth = 980,
sliderTimer, currentSlide = 0, len;
function nextSlide() {
currentSlide++;
if (currentSlide >= len) currentSlide = 0;
$(".slidewrapper").animate({
left: -currentSlide * slideWidth
}, 800)
}
function prevSlide() {
currentSlide--;
if (currentSlide < 0) currentSlide = len - 1;
$(".slidewrapper").animate({
left: -currentSlide * slideWidth
}, 800)
}
$(function() {
len = $(".slidewrapper").children().length
$(".slidewrapper").width(len * slideWidth);
sliderTimer = setInterval(nextSlide, 3000);
$("#slider").on({
mouseenter: function() {
clearInterval(sliderTimer)
},
mouseleave: function() {
sliderTimer = setInterval(nextSlide, 3000)
}
});
$("#next_slide").click(function(event) {
event.preventDefault();
clearInterval(sliderTimer);
nextSlide()
});
$("#prev_slide").click(function(event) {
event.preventDefault();
clearInterval(sliderTimer);
prevSlide()
})
});
</script>-->
<style>
#slider {
max-width:973px;
height: auto;
position: relative;
overflow: hidden;
border: 3px solid rgba(75, 77, 97,0.6);
}
.clearfix {
width:100%;
height: auto;
display: block;
}
.slidewrapper{
position: absolute;
max-width:3000px;
left: 0;
top: 0;
margin: 0;
padding: 0;
}
#slider li > .img-responsive {
width:100%;
height:auto;
display: block;
}
.slidewrapper .slide {
float:left;
list-style-type: none;
max-width:977px;
}
#slider .arrows {
top:50%;
}
#slider #prev_slide {
z-index: 10000;
position: absolute;
left:0;
margin-top:-25px;
}
#slider #next_slide {
z-index: 10000;
position: absolute;
right:0;
margin-top:-25px;
}
.fa-arrow-circle-left,.fa-arrow-circle-right {
background: #000;
font-size: 50px !important;
opacity: 0.5;
border-radius: 50%;
}
.fa:hover {
opacity: 1;
}
</style>
</head>
<body>
<div id="slider">
<ul class="slidewrapper" data-current="0">
<li class="slide"><img class="img-responsive" src="http://www.optimum1.ru/images/shapka2.jpg" alt="slide1"></li>
<li class="slide"><img class="img-responsive" src="http://www.mccombs.utexas.edu/~/media/Images/MSB/Departments/IROM/Events/WSBA/Cool-Technology-Wallpaper-1-1920x1080%20cropped.jpg?h=300&w=980" alt="slide2"></li>
<li class="slide"><img class="img-responsive" src="http://timebasedsales.com/wp-content/uploads/2012/11/tbs_fejlecek_980x300_KV_industries_general.jpg" alt="slide3"></li>
</ul>
<a href="javascript: void(0)" id="prev_slide" class="arrows"><i class="fa fa-arrow-circle-left"></i></a>
<a href="javascript: void(0)" id="next_slide" class="arrows"><i class="fa fa-arrow-circle-right"></i></a>
<img src="img/cl_fix.png" alt="clear" class="clearfix">
</div>
</body>
</html>
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
var slideWidth,
sliderTimer,
currentSlide = 0,
len;
function StarT () {
if($(window).width()>980) slideWidth = 980;
else slideWidth = parseInt($(window).width());// alert(slideWidth);
function nextSlide() {
currentSlide++;
if (currentSlide >= len) currentSlide = 0;
$(".slidewrapper").animate({
left: -currentSlide * slideWidth
}, 800)
}
function prevSlide() {
currentSlide--;
if (currentSlide < 0) currentSlide = len - 1;
$(".slidewrapper").animate({
left: -currentSlide * slideWidth
}, 800)
}
$(function() {
$('#slider').css({'max-width':slideWidth+'px','height':''+parseInt(.307*slideWidth)+'px'});
len = $(".slidewrapper").children().length
$(".slidewrapper").width(len * slideWidth);
sliderTimer = setInterval(nextSlide, 3000);
$("#slider").on({
mouseenter: function() {
clearInterval(sliderTimer)
},
mouseleave: function() {
sliderTimer = setInterval(nextSlide, 3000)
}
});
$("#next_slide").click(function(event) {
event.preventDefault();
clearInterval(sliderTimer);
nextSlide()
});
$("#prev_slide").click(function(event) {
event.preventDefault();
clearInterval(sliderTimer);
prevSlide()
})
});
}; StarT ();
var timID2;
$(window).resize(function() {
if($(window).width()>=980) return;
//Тут коды переинициализации;
clearTimeout(timID2);
clearInterval(sliderTimer);
$(".slidewrapper").stop(true);
$(".slidewrapper").css({'left':0})
timID2 = setTimeout(function(){StarT()},700);
});
</script>
<style>
#slider {
max-width:973px;
height:280px;
position: relative;
overflow: hidden;
border: 3px solid rgba(75, 77, 97,0.6);
}
.clearfix {
width:100%;
height: auto;
display: block;
}
.slidewrapper{
position: absolute;
max-width:3000px;
left: 0;
top: 0;
margin: 0;
padding: 0;
}
#slider li > .img-responsive {
width:100%;
height:auto;
display: block;
}
.slidewrapper .slide {
float:left;
list-style-type: none;
max-width:33.3%;
}
#slider .arrows {
top:50%;
}
#slider #prev_slide {
z-index: 10000;
position: absolute;
left:0;
margin-top:-25px;
}
#slider #next_slide {
z-index: 10000;
position: absolute;
right:0;
margin-top:-25px;
}
.fa-arrow-circle-left,.fa-arrow-circle-right {
background: #000;
font-size: 50px !important;
opacity: 0.5;
border-radius: 50%;
}
.fa:hover {
opacity: 1;
}
</style>
</head>
<body>
<div id="slider">
<ul class="slidewrapper" data-current="0">
<li class="slide"><img class="img-responsive" src="http://www.optimum1.ru/images/shapka2.jpg" alt="slide1"></li>
<li class="slide"><img class="img-responsive" src="http://www.mccombs.utexas.edu/~/media/Images/MSB/Departments/IROM/Events/WSBA/Cool-Technology-Wallpaper-1-1920x1080%20cropped.jpg?h=300&w=980" alt="slide2"></li>
<li class="slide"><img class="img-responsive" src="http://timebasedsales.com/wp-content/uploads/2012/11/tbs_fejlecek_980x300_KV_industries_general.jpg" alt="slide3"></li>
</ul>
<a href="javascript: void(0)" id="prev_slide" class="arrows"><i class="fa fa-arrow-circle-left"></i></a>
<a href="javascript: void(0)" id="next_slide" class="arrows"><i class="fa fa-arrow-circle-right"></i></a>
<img src="img/cl_fix.png" alt="clear" class="clearfix">
</div>
</body>
</html>
Ни наю, поправил на коленке ... |
Deff спасибо, но слайдер все равно не резиновый он как каартинки должен уменьшаться, эм а без скрипта не обойтись, я хотел сделать резиновый слайдер без скриптов вообще?
|
Cdelphi78,
Вы пробовали ужать окно браузера с моими правками ? |
конечно я и говорю слайдер не стал резиновым, посмотрите как он должен работать при уменьшениии у меня в коде!
|
Cdelphi78,
Ну подправил ыщо |
Уже лучше, но все равно нето вот посмотрите как здесь работает слайдер http://flexslider.woothemes.com/ он полностью резиновый)
А и кто му же он опять забаговался:) , работает не поими как? |
Самое интересное что в сети ни одного толкогвого урока по резине слайда
|
Cdelphi78,
Ну нун отслеживать window.onresize для правки длины перемещений контента и размера слайдера. http://freeams.ru/lessons/lessons-co...ry-i-css3.html http://bxslider.com/examples/thumbnail-pager-1 Как-то Вы плохо ищите http://www.internet-technologies.ru/...icle_2279.html http://qps.ru/FHQMq |
http://freeams.ru/lessons/lessons-co...ry-i-css3.html этот посмострю, че то ничего не понимаю, какой onresize? там же transition3d работает?
http://bxslider.com/examples/thumbnail-pager-1 здесь ниче непонятно http://www.internet-technologies.ru/...icle_2279.html это обзоры слайдов мне нужен урок по адаптивности слайдеров http://qps.ru/FHQMq ссылка на вирус:) |
А на чистом css можно зарезинить слайдер?
|
http://freeams.ru/lessons/lessons-co...ry-i-css3.html ну здесь он готовый подклюяает слайдер я же искал как сделать полностью кастомный резиновый слайдер)
|
Вот это не понятно зачем он делает >Идем далее: исключаем показ слайдов изображений которые находятся вне основной области просмотра,
|
а вот это еще что такое не понятно
.slides:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
html[xmlns] .slides { display: block; }
* html .slides { height: 1%; }
|
Цитата:
Тоже самое, без ужатий https://www.google.ru/search?q=%D0%B...45.46YTrAn7GYk |
а ха ха, а скрипт он так и не разобрал что делает каждая строчка:)
|
Deff, ну вот сейчас ссылка заработала,но дело не в этом я искал уже в гугле , там везде идут обзоры готовых решений, купите то купите это, мне то другое нужно, мне урок по резиновости слайдера нужен что нужно для этого)
|
Cdelphi78,
Я за два последних года не смог чего нибудь не найти, по любым вопросам скриптодеятельности. Задавайте правильно Вопросы поисковикам, Пробуйте, переформулируйте, ищите и на англоязычных ресурсах. Уж слайдеров и уроков по ним - тьма тьмущая. Хотя при попытке напрячься и понять, что я вам пояснил про window.onresize или $(window).resize в JQ уже можно сделать всё самому! Что меняется при смене размеров окна ? 1. Ширина -высота слайдера [1] 2. Длина пути прохода картинки [2] ========================= 1. Запуск.(Инициализация) Считываем Высоту - ширину окна браузера - если она не менее установленной в css начальной ширины - оставляем всё как есть 2. Если меньше - Редактируем [1] и [2] , останавливаем и перезапускаем слайдер ========================= При событии $(window).resize проводим повторную Инициализацию |
Спасибо за информацию, попробую разобраться, все может ответите на вопрос как сделать на чистом css это все не сторонник подключать скрипты вообще)
|
Cdelphi78,
Должен быть уже скрипт слайдера учитывающий резиновость, Ибо путь прохода картинки слайдер вычисляет для конкретной ширины слайдера, и при смене ширины нун его переинициализировать |
Да я говорю, без скриптов вообще можно сделать?
|
Можно, Поищите слайдер на чистом css
Есть вариант слайдера без передвижений, тады мон резиновость делать css http://javascript.ru/forum/jquery/29...-slajjder.html (Там картинка рамки испортилась ... |
|
Не. Открыл я скрипт flexslidera и не понимаю в нем ни строчки чего куда?, буду свой пытаться доделать.
|
Кто нибуть может мне обьяснить как работает этот скрипт? Почему слайдер лихорадит так в адаптиве?
<script>
008
009
var slideWidth,
010
sliderTimer,
011
currentSlide = 0,
012
len;
013
014
function StarT () {
015
if($(window).width()>980) slideWidth = 980;
016
else slideWidth = parseInt($(window).width());// alert(slideWidth);
017
018
019
function nextSlide() {
020
currentSlide++;
021
if (currentSlide >= len) currentSlide = 0;
022
$(".slidewrapper").animate({
023
left: -currentSlide * slideWidth
024
}, 800)
025
}
026
027
function prevSlide() {
028
currentSlide--;
029
if (currentSlide < 0) currentSlide = len - 1;
030
$(".slidewrapper").animate({
031
left: -currentSlide * slideWidth
032
}, 800)
033
}
034
$(function() {
035
$('#slider').css({'max-width':slideWidth+'px','height':''+parseInt(.307*slideWidth)+'px'});
036
037
len = $(".slidewrapper").children().length
038
$(".slidewrapper").width(len * slideWidth);
039
sliderTimer = setInterval(nextSlide, 3000);
040
$("#slider").on({
041
mouseenter: function() {
042
clearInterval(sliderTimer)
043
},
044
mouseleave: function() {
045
sliderTimer = setInterval(nextSlide, 3000)
046
}
047
});
048
$("#next_slide").click(function(event) {
049
event.preventDefault();
050
clearInterval(sliderTimer);
051
nextSlide()
052
});
053
$("#prev_slide").click(function(event) {
054
event.preventDefault();
055
clearInterval(sliderTimer);
056
prevSlide()
057
})
058
});
059
060
}; StarT ();
061
var timID2;
062
$(window).resize(function() {
063
if($(window).width()>=980) return;
064
//Тут коды переинициализации;
065
clearTimeout(timID2);
066
clearInterval(sliderTimer);
067
$(".slidewrapper").stop(true);
068
$(".slidewrapper").css({'left':0})
069
timID2 = setTimeout(function(){StarT()},700);
070
});
071
</script>
|
Что такое parseInt?
|
Ни одного нормального урока по разбору скриптов слайдера:cray:
Напишут: "для работы слайдера нужен вот такой скрипт.Спасибо за внимание!" А разбирать каждую строчку кто будет? |
ооооооооооооооо, алле, может кто за недорого хоть поможет с этим скриптом?
|
Цитата:
http://javascript.ru/parseint В данном случае отбрасывает дробную часть от деления чисел, оставляя ток целую Не все браузеры переваривают ширину с дробью, ибо число пиксел на экране -целое |
Вот так вот понял а то в этом учебнике так написано что не понятно,
Далее вот здесь не понятно у нас currentslide равен 0 потом увеличивается на единицу потом почему то если currentslide >= переменной len(где len не задано значение) то currentslide опять сбрасывать в ноль, потом анимируем позицию смещаем влево на значение минус currentslide почему то умноженное на ширинку сладера а ище 800 там зачем то в конце. |
никто не хочет помогать, тогда закрываем тему. на биржу выложу проект тогда)
|
Дурацкий слайдер, дико бесит меня, чуть тронешь, начинает носиться как угорелый:-/
|
| Часовой пояс GMT +3, время: 18:31. |