Как добавлять, добавлять и реализовывать переключение цветов с помощью щелчка и двойного щелчка в jQuery
Итак, у меня есть задание в школе, и я не знаю, как его решить. Пожалуйста, пожалуйста, пожалуйста, помогите. HTML и CSS приведены и не могут быть отредактированы вообще. Все должно быть сделано в JS. Вот задача:
У нас есть список лиц. Нам нужно добавить двух человек в верхней части существующего списка (см. Ниже) и трех человек в нижней части списка. Затем нужно создать два события:
Клик по имени человека должен уменьшить видимость до 20%, щелкнув по нему еще раз, следует вернуть непрозрачность до 100%.
Двойной щелчок должен привести к выделению имени человека зеленым цветом.
<style> .persons li { list-style-type: none; opacity: 1; } .persons li a { color: black; text-decoration: none; } .persons li.closed { opacity: 0.2; } .persons li.alt a { color: green; } </style>
<html>
<head></head>
<body>
<ul class="persons">
<li><a href="#">Tom</a></li>
<li><a href="#">Jerry</a></li>
</ul>
</body>
</html>
3 ответа
JS:
$(document).ready(function() {
$(document).on("click", ".persons li", function() {
$(this).toggleClass("closed");
});
$(document).on("dblclick", ".persons li", function() {
$(this).toggleClass("alt");
});
});
Демо: http://jsfiddle.net/lotusgodkk/GCu2D/2178/
Ссылка: toggleClass dblclick нажмите
Я сделал для вас пример, проверьте это:
$(document).ready(function(){
$(".persons").prepend("<li><a href='#'>First person before</a></li><li><a href='#'>Second person before</a></li>")
$(".persons").append("<li><a href='#'>First person after</a></li><li><a href='#'>Second person after</a></li><li><a href='#'>Third person after</a></li>")
$(document).on("click", ".persons > li > a", function(e) {
$(e.target).parent().toggleClass("closed");
});
$(document).on("dblclick", ".persons > li", function(e) {
$(e.target).parent().toggleClass("alt");
});
});
.persons li { list-style-type: none; opacity: 1; }
.persons li a { color: black; text-decoration: none; }
.persons li.closed { opacity: 0.2; }
.persons li.alt a { color: green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<ul class="persons">
<li><a href="#">Tom</a></li>
<li><a href="#">Jerry</a></li>
</ul>
</body>
Код JS
$('.persons li a').click(function(){
var me = $(this);
if(me[0].classList.contains('reduceOpacity')==false){
me.css('opacity','.2');
me.addClass('reduceOpacity');
}else{
me.css('opacity',1);
me.removeClass('reduceOpacity');
}
});
$(".persons li").dblclick(function() {
$(".persons li").removeClass('alt')
$(this).addClass("alt");
});
.persons li { list-style-type: none; opacity: 1; }
.persons li a { color: black; text-decoration: none; }
.persons li.closed { opacity: 0.2; }
.persons li.alt a { color: green; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head></head>
<body>
<ul class="persons">
<li><a href="#" class="sadsad">Tom</a></li>
<li><a href="#">Jerry</a></li>
</ul>
</body>
</html>