Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Нужен совет по click(function) (https://javascript.ru/forum/jquery/2154-nuzhen-sovet-po-click-function.html)

Jomhan 11.11.2008 18:58

Нужен совет по click(function)
 
В HTML выводятся изображения:

<div class="content">
<img src="img/1.jpg" >
<img src="img/2.jpg" >
<img src="img/3.jpg" >
<img src="img/4.jpg" >
<img src="img/5.jpg" >
<img src="img/6.jpg" >
<img src="img/7.jpg" >
<img src="img/8.jpg" >
<img src="img/9.jpg" >
</div>

В скрипте прописываю:

$(document).ready(function(){
$("a#create").click(function(){$("div#content").lo ad("create.html");});

$(".content img").hover(
function () {
$(this).addClass('imageover');
},
function()
{
$(this).removeClass('imageover');
}
);

$(".content img").click(function () {
$(this).toggleClass('imagehover').fadeOut(100).fad eIn(50).fadeOut(50).fadeIn(500);
}


);

});

Вопрос: toggleClass выбирает и подсвечивает картинку, по которой прошел щелчек мыши. А как сделать так, чтобы щелчек выбирал и подсвечивал только текущую картинку, а с остальных выделение сбрасывал? Нужно, чтобы картинки работали а-ля checkbox. Спасибо.

Octane 11.11.2008 19:26

Ну выполните для остальных картинок тоже toggleClass
$(".content img").click(function () {
  $(".content img").toggleClass('imagehover');
  $(this).toggleClass('imagehover').fadeOut(100).fad eIn(50).fadeOut(50).fadeIn(500);
});

Jomhan 11.11.2008 21:07

Не выходит. Получается, что нажатие на картинку либо включает тоггл, либо выключает у ВСЕХ картинок. Может быть я не корректно описал задумку.

Необходимо сделать так, чтобы щелкая на картинку она выбиралась (подсвечивалась), но только она ОДНА. Тоггл решает это дело, но при щелчке на вторую картинку, она выбирается, и выбранных картинок становится две, а это мне не подходит. Представьте, что эти картинки - список радиобаттон (ах, вот где я ошибся, обозвал их чекбоксами)

Kolyaj 11.11.2008 21:27

Что мешает всем сделать removeClass?

Octane 11.11.2008 21:46

а ну да там вместо toggleClass должно removeClass стоять, не подумал… картинок то много :)

Jomhan 11.11.2008 22:16

Все ребят, спасибо. Разобрался!! )

Horlamov 07.12.2013 00:41

Подскажите как сделать, чтобы боковая панель при загрузке страницы не выезжала сама по себе, а чтобы выезжала при нажатии мышей, мозг скоро взорвётся!

$(function(){
$('.slider').click(function (){
$('#nav').slideToggle(1000);
var img = $(this).find('img');
if ($(img).attr('id') == 'bot'){
$(img).attr('src', 'images/arrow_top.png');
$(img).attr('id', 'top');
} else{
$(img).attr('src', 'images/arrow_bottom.png');
$(img).attr('id', 'bot');
}
});
$('.sub').click(function (){
var cur = $(this).prev();
$('#nav li ul').each(function(){
if ($(this)[0] != $(cur)[0])
$(this).slideUp(300);
});
$(cur).slideToggle(300);
});
});


Часовой пояс GMT +3, время: 06:51.