#jquery
#jquery
Вопрос:
Когда кто-то наводит курсор на div.lol, я хочу показать содержимое внутри profile.php на div.sdf
$(document).ready(function(){
$('.lol').hover(function(){
$(this).parent().next().find('.sdf').get('profile.php');
},function(){
$(this).parent().next().find('.sdf').get();
})
});
Я пробовал это, но ничего не загружается.
вот мой jfiddle http://jsfiddle.net/csbVW/93 /
Комментарии:
1. Почему бы не загрузить его один раз, а не при каждом наведении? Это похоже на плохой дизайн.
2. Я предлагаю вам предварительно загрузить содержимое и показать его при наведении. При медленном соединении может потребоваться 2 секунды до загрузки содержимого, чего вы на самом деле не хотите при наведении
3. согласен с @Martijn. Если вам действительно нужно это сделать, загрузите содержимое в
<div>
элемент, добавьте adisplay:none
в css (иначе вы сможете увидеть его до загрузки DOM, и это ужасно на мой вкус), затем$('.lol').hover(function(){ $('.sdf').show(); });
или что-то подобное.
Ответ №1:
Вы get
неправильно используете метод. Вот документация get . Способ, который вы использовали get
, заставляет вас вызывать эту функцию. Используйте AJAX
get
метод для извлечения данных с сервера, а затем введите результат в DOM
элемент, в котором вы хотите его отобразить.
Ответ №2:
Линек прав в том, что вы неправильно используете метод get. Вы передаете функцию в качестве второго параметра и используете ее для выполнения того, что вы хотите сделать с данными, возвращенными из вызова GET .
Должно сработать что-то вроде следующего…
$(document).ready(function(){
$('.lol').hover(function(){
loldiv = $(this).parent().next().find('.sdf');
$.get('profile.php', function(data) {
loldiv.html(data);
});
});