2013-12-02 1 views
0

У меня есть DIV, который содержит изображение:Пожар Javascript функция на изображения нажмите внутри HTML DIV

<div class="HD"> 
    <img class="image1"src="img/myimage.png"> 
</div> 

СМЧ применяется к нему:

.HD img { 
    position:absolute; 
    top:570px; 
    left:1120px; 
    width:30px; 
    height:90px; 
    cursor:pointer 
} 

Я хочу, чтобы применить функцию щелчка к изображению внутри div. Однако, когда я даю идентификатор изображения или класс и использую его для создания функции, javascript не срабатывает. Когда у div нет изображения, и я использую класс, javascript работает так, как ожидалось. Ниже функция JavaScript:

$(".HD").click(function() { 
    if($('.UpperDiv').attr('data-visible') == "hidden") { 
     $('.UpperDiv').attr('data-visible', 'visible'); 
     $('.UpperDiv').animate({ 
      opacity:1 
      // top:'250px' 
     }); 
    } else { 
     $('.UpperDiv').attr('data-visible','hidden'); 
     $('.UpperDiv').animate({ 
      opacity:0 
      // top:'250px' 
     }); 
    } 
}); 

Что может быть причиной? Что не так с моим кодом?
Как я могу запустить javascript, когда пользователь нажимает на div, содержащий изображение?

Для справки, это сайт Я trying to make и original working version.

+0

Не могли бы вы предоставить jsFiddle? – jameslafferty

+0

Я не использовал jsfiddle .. Я пытаюсь создать один .. это будет полезно, если бы я сделал – Nodnin

+0

Да, определенно было бы полезно для ответа на ваш вопрос. – jameslafferty

ответ

1

Try:

$(".HD").on({ 
    click : function(){ 
     if($('.UpperDiv').attr('data-visible')=="hidden") 
     { 
       $('.UpperDiv').attr('data-visible','visible'); 
       $('.UpperDiv').animate({ 
         opacity:1 
         // top:'250px' 
       }); 
     }else{ 
       $('.UpperDiv').attr('data-visible','hidden'); 
       $('.UpperDiv').animate({ 
         opacity:0 
         // top:'250px' 
       }); 
     } 
    } 
}, 'img'); 
+0

nope это не сработало – Nodnin

+0

Есть ли способ, которым мы могли бы применить класс изображения или идентификатор изображения и при щелчке этого огня javascript .. Спасибо за ответ, хотя он дает полезные предложения – Nodnin

+0

Какую версию jQuery вы используете? – jameslafferty

2

Разве вы не можете просто использовать .toggle?

$(".HD").toggle(400); 

или .fadeToggle?

$(".HD").fadeToggle(); 
+0

Прошу прощения, я не мог понять ваш ответ. Почему вы предложили переключатель. Будет ли переключаться между двумя разделами ... но проблема в том, что ничего не происходит при щелчке. – Nodnin

1
$(".HD > img").click(function() { }); 

Используйте это и попробовать.

Смежные вопросы