2014-12-23 4 views
1

EDIT: Это для наклонившись целиНевозможно применить простую функцию скрыть на DIV

У меня есть библиотека JQuery включена в моем заголовке:

<script src="assets/js/jquery-1.11.0.min.js"></script> 

В теле есть простой DIV:

<div id="image"> 
    <img class="width" src="assets/images/janka.jpg"> 
</div> 

И в конце тела простой скрипт:

<script> 
    $("#image").load(function() { 
     $("#image").hide();   
    }); 
</script> 

Я хотел бы скрыть «образ» div после загрузки функцией jQuery hide(). Но ничего не происходит после загрузки страницы, div все еще отображается. В консоли браузера не отображается ошибка. Не могу понять, что я делаю неправильно. Pls, исправьте мою банальную ошибку.

+0

просто используйте простой css, чтобы скрыть div, используя 'display: none' – Mivaweb

+0

@VDesign:' .hide(); 'делает то же самое. –

+0

ОК, но я хочу изучить jQuery, это не имеет значения, какая именно функция. –

ответ

2

нагрузки может вызывать на Body, iframe, img и т. д., но не на divs. Вместо этого, если вы хотите использовать onload-событие для элемента, вам нужно связать его с элементом, например. с div.But в основном есть 2 способа вызова функции 1. должны вызвать функцию сразу после сНа нагрузки, писать только после того, как сНа элемента

 <div id="image"> 
      <img class="width" src="assets/images/janka.jpg"> 
    </div> 

<script> 
    function toHide() { 
     $("#image").hide();   
    } 
    toHide(); 
    </script> 

2. является стрелять функции OnLoad из IMG вместо DIV

$("#image img").load(function() { 
       $("#image img").hide();  //USING JS function  
      }); 
     OR 



     $("#image").load(function() { 
       $("#image").css('display', 'none');  //USING CSS 
      }); 
+2

'load можно вызвать на Body, iframe, img и т. Д., Но, конечно же, не на div.*** В качестве примечания: *** вы можете связать событие onload с DIV, если вы хотите ** захватить событие onload ** любого из своих детей. –

+0

@ A.Wolff да, это также можно сделать для достижения с той же целью. :) –

+0

Ya, просто добавив пример, чтобы сделать мой комментарий более ясным: http://jsfiddle.net/2272e62z/ –

1

Элемент #image является div, который не поднимет событие load. Вы должны выбрать img элемент внутри то, что действительно вызывает событие:

$("#image img").load(function() { 
    $("#image").hide();   
}); 
+4

', но я хочу узнать jQuery';) –

+0

будет больше функциональности, мне просто интересно, почему это не работает –

+4

@A Вольф ах ок, я пропустил это. Если это учебное упражнение, то идите в орехи :) –

1

Это должно быть IMG:

$("#image img").load(function() { 
     $("#image img").hide();   
    }); 

Нагрузка DIV не может быть проверена, но изображения могут быть. Если вы хотите скрыть DIV сразу после HTML готов затем использовать готовый обработчик:

$(document).ready(function(){ 
$('#image').hide(); 
}); 

Но вы используете скрипт в конце закрытия тела вы просто применить это:

$('#image').hide(); 
Смежные вопросы