JS css карусель
Здраствуйте! извините пожалуйста что отвлекаю, но мне очень нужна помощ я уже 3 день ломаю голову не могу найти информацию которая мне нужна.
Я вас очень прошу помогите мне завтра нужно здать макет а я не могу сделать нужную карусель! Вот у меня есть https://codepen.io/warwar/pen/WKKpWZ . Но мне нужно ее модернизировать, тоесть добавить навигацию, тоесть точки которые бы показывали на каком слайде я нахожусь, но самое главное мне еще нужно что бы сверху были надписи и они тоже менялись при смене слайда типа: кухня, туалет, комната и что бы они были все видны( я про надписи) как бы две навигации снизу точки а с верху надписи. Помогите пожалуйста. |
Готовый возьмите.
|
пожалуйста подскажите где?
|
Цитата:
|
|
Цитата:
Спасибо за потраченое время, но ето не то что мне нужно, там только одна навигация а мне нужно еще сверху надписи которых нигде нету! я не знаю как привязать их! |
Цитата:
|
Nexus,
:( там навигация не активная и стрелок нету, ладно и на етом спасибо( |
|
Цитата:
во почти то что мне нужно, только мне нужно что бы текст был не частью блока и не пропадал а был как навигация сверху и просто менял свою активность взависимости от того какой блок активный если блок 1 то выделалась надпись 1 если блок 2 то выделялась надпись 2, но что бы надписи не пропадали а были постоянно видны! можете такое реализовать!? буду очень очень очень благодарен вам господин! |
Rezorwar,
https://jsfiddle.net/63jdmsey/ |
Nexus,
Огромное спасибо вам))))))))))))))))))))))))))))))))) |
Nexus,
единственное не могу понять чего навигация идет цифрами а не точками и нету активной как на сайте slick! не подскажите? |
Rezorwar,
у него есть класс slick-active. можно задать любой стиль |
j0hnik,
благодарю! |
Цитата:
slick-active применяеться ко всему активному а как имено задать стили к етим точкам? |
Rezorwar,
.slick-dots .slick-active |
Цитата:
а без вложености никак к ним не обратиться? |
Rezorwar, есть вероятность, что переопределите что-нибудь не то, так что нет.
|
Nexus,
а еще такой вопрос text 1 text 2 text 3 ему вы можете с помощу js какой то клас дать как вы ему дали клас ектив! ато обращаться к li не могу, и блин теперь на слайде видно надписи ети text 1 text 2 text 3 как их убрать? я их удаляю и они везде пропадают! можно так сделать что бы сверху они были а на слайде небыло ничего кроме картинок! спасибо вам за все, я в долгу у вас! |
$('.top_slider h2').addClass('нужный_класс');
или в html укажите |
Цитата:
.top_slider .slide h2{
display:none;
}
|
Спасибо вам ребята! хороший форум
|
j0hnik,
ну мне не h2 нужно клас создать а <li> которые создаються в js коде потому что там и точки те <li> и текст который сверху тоже <li> и когда я к ним обращаюсь они оба применяют стили! а мне нужно им разные стили задать! как ето сделать? |
$('.top_slider ul:first-child li').addClass('нужный_класс');
|
j0hnik,Nexus,
не помогает! мне нужно что бы у текста сверху был один клас а у точек другой что бы я мог к ним обращаться, ато я задаю стили для <li> и их принимают и те и другие! как мне к ним обращаться по одельности, подскажите! |
|
Простейший слайдер делегирование точечная навигация
Rezorwar,
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo</title>
<style type='text/css'>
* {
margin: 0;
padding: 0;
}
ul {
list-style: none;
}
#container {
position: relative;
top: 20px;
width: 640px;
height: 480px;
margin: 0 auto;
box-shadow: 0 0 5px 5px rgba(0, 0, 0, .5);
transition: all .6s;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
#previous {
position: absolute;
left: 10px;
top: 50%;
margin-top: -20px;
opacity: .5;
cursor: pointer;
}
#previous:hover, #next:hover {
opacity: 1;
}
#previous:active {
margin-top: -18px;
}
#next:active {
margin-top: -18px;
}
#next {
position: absolute;
right: 10px;
top: 50%;
margin-top: -20px;
opacity: .3;
cursor: pointer;
}
.nav {
position: absolute;
bottom: 0;
left: 50%;
width: 100px;
margin-left: -50px;
}
.nav li {
float: left;
margin-right: 5px;
margin-bottom: 5px;
display: block;
height: 10px;
width: 10px;
border: 2px solid #fff;
border-radius: 50%;
}
.active {
background-color: red;
}
.up{
display: flex;
margin: 4px auto;
text-align: center;
justify-content: center;
background-color: #D3D3D3;
width: 300px;
border-radius: 8px;
}
.up li{
margin: 2px 5px;
cursor: pointer;
font-size: 1.1em;
text-transform: capitalize;
}
.up li.active{
color: #FFFFFF;
border-bottom: solid 1px #FFFFFF;
background-color: transparent;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
(function() {
var container = document.getElementById("container"),
button = document.getElementById("next"),
previous = document.getElementById("previous"),
array = ["http://mebelperemen.ru/image/data/praga%20moduli/2017-07-01_203711.jpg",
"https://remont-otdelka62.ru/wp-content/uploads/2014/06/otdelka_komnat_foto3.jpg",
"http://grazia-mebel.ru/upload/iblock/e9c/e9c73472cfcd3f3c6ffc4478bd07b546.jpg",
"https://domtexnik.com.ua/assets/uploads/store/products/80d7c-polotencesushitel-mario-dzhuno-01.jpg"],
text = ["кухня","комната","прихожая","туалет"],
navUp = document.querySelector(".up"),
sliderRulesUp = document.querySelectorAll(".up li"),
sliderRules = document.querySelectorAll(".nav li"),
old, i = 0,
j = sliderRules.length - 1,
imgSet = function(link) {
container.style.backgroundImage = "url(" + link + ")"
};
container.addEventListener("click", newX, false);
navUp.addEventListener("click", newX, false);
for (; j > -1; j--) {
var link = array[j];
var img = new Image;
img.src = link;
var sliderRule = sliderRules[j];
sliderRule.dataset.indx = j;
var sliderRuleUp =
sliderRulesUp[j];
sliderRuleUp.textContent = text[j];
sliderRuleUp.dataset.indx = j
}
sliderRule.classList.add("active");
sliderRuleUp.classList.add("active");
sliderRule.click();
function newX(e) {
var elem = e.target;
var i = +elem.dataset.indx;
if (isNaN(i)) return;
var next = i + 1;
next == array.length && (next = 0);
var prev = i - 1;
0 > prev && (prev = array.length - 1);
button.dataset.indx = next;
previous.dataset.indx = prev;
document.querySelector(".nav .active").classList.remove("active");
sliderRules[i].classList.add("active");
document.querySelector(".up .active").classList.remove("active");
sliderRulesUp[i].classList.add("active");
var link = array[i];
imgSet(link);
e.preventDefault()
}
})()
});
</script>
</head>
<body>
<ul class="up">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div id="container">
<img src="https://www.gentec-eo.com/Content/images/home/slider/left-arrow.png" id="previous" width="40" height="40" >
<img src="https://www.gentec-eo.com/Content/images/home/slider/right-arrow.png" id="next" width="40" height="40" >
<ul class="nav">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
</html>
|
рони,
Спасибо все очень класно, но я теперь не знаю как мне редактировать тут все! мне нужно стрелочки в низ опустить и в лево что бы ети точки(индикаторы) были между стрелок. |
|
Цитата:
#next {top: 50%; |
рони,
Профессор, а как мне свои фотографии закинуть? у вас тут array = ["http://mebelperemen.ru/image/data/praga%20moduli/2017-07-01_203711.jpg", а мне нужно не с интернета а с папки img? как ето реализовать? |
Цитата:
array = ["img/1.jpg", |
рони,
ну я прописую array = ["img/BG1"] оно не видит ее, белый фон |
рони,
простите был не внимателен, не добавил розширение! а такой вопрос а где изменить что бы они слева направо ездили а не так как у вас? |
Цитата:
|
рони,
жаль! ну и на етом спасибо огромное! |
рони,
скажите, с чего посоветуете начать изучение javascript? |
Rezorwar,
ссылка перед вами в самом верху Учебник |
рони,
я думал вы мне что то особое скажите) |
| Часовой пояс GMT +3, время: 03:41. |