Изменения стилей при втором клике
Всем привет! Есть такая задача: Нужно при клике на картинку сделать её больше в 7 раз (это уже сделано), а при втором клике вернуть исходный размер. Вот код:
<script type="text/javascript">
$(document).ready(function() {
$("img").bind("click", function(event) {
$(event.target).animate(
{
width: $(event.target).width() * 7,
height: $(event.target).height() * 7
},
3000);
});
});
</script
<p class="img">
<img src="images/straus.jpg" style="width: 100px; height: 100px;" alt="" />
</p>
|
Хан,
toggleClass это всё что вам нужно вместо строк 4-9 |
Ну так запиши исходный размер в какой-нить тег и восстанавливай.
|
А как toggleClass в код вставить? Чтобы при втором клике..?
|
Хан,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.img img { display: block; margin: 0 ;
transition: all 3s ease-in-out;
width: 100px;
height: 100px;
}
.big{
transform: scale(7);
padding: 10% 48%;
}
.img {
overflow: hidden;
}
.img img.b{
margin: 0 25%;
width: 700px;
height: 700px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
$(".img img").on("click", function() {
$(this).toggleClass("b")
})
});
</script>
</head>
<body>
<p class="img">
<img src="http://www.newyork.ru/ic/images.newsru.com/pict/id/large/796764_20051013122324.gif" alt="" />
</p>
</body>
</html>
|
Хан, если 700% это вечное число, то пишешь правило
.enlarge-image{max-width:700%;max-height:700%;}
и переключаешь его по щелчку
image.addEventListener('click',function(e){
this.classList.toggle('enlarge-image');
});
и все. |
Ничего из всего представленного не подошло, но все ровно спасибо, тему не закрываю.
|
Цитата:
|
Хан,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.img img {
width: 100px;
height: 100px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(window).on("load", function() {
$(".img img").each(function(e, a) {
a = $(a);
var b = a.height(),
c = a.width(),
d = [{
height: b,
width: c
}, {
height: 7 * b,
width: 7 * c
}];
a.on("click", function() {
a.stop().animate(d.reverse()[0], 3E3)
})
})
});
</script>
</head>
<body>
<p class="img">
<img src="http://www.newyork.ru/ic/images.newsru.com/pict/id/large/796764_20051013122324.gif" alt="" />
</p>
</body>
</html>
|
Ты крут! Получилось, у меня получалось, только без нажатия, т.е. картинка увеличивается и тут же обратно. А то что ты скинул работает прекрасно, теперь буду разбирать. Спасибо!
|
| Часовой пояс GMT +3, время: 16:17. |