2010-02-18 4 views
0

Я создаю лайтбокс для сайта, который я создаю, нет, я не хочу использовать уже сделанный, я хочу сделать свой собственный.jquery: grab div title attr, поместить его в изображение src

, когда пользователь нажимает на где-то на сайте, у меня есть JQuery грейфер, что как атрибут названия, и вставить его в ГКЗ изображения, а затем вводит этот тег изображения в .overlay_content

все работает, кроме него обыкновение захватить титул, переменная не работает, и я не знаю, что я сделал неправильно, это вставить захваченный-IMG в ГКЗ для изображения, а не название span.overlay_img

 $(document).ready(function() { 
     $('.overlay_img').click(function(){ 
      var docHeight = $(document).height(); 
      var grabbed_img = $(this).attr('title'); 

      $(".overlay_bg").height(docHeight).fadeIn(300, function(){ 
       $(".overlay_content").html("<img src='grabbed_img'>").fadeIn(300); 
       }); 
      }); 

     }); 

ответ

2

Вы уверены, что не захватили титул? Вы пытались проверить его?

alert(grabbed_img)

Похоже, это может быть проблема с этой линии:

 $(".overlay_content").html("<img src='grabbed_img'>").fadeIn(300); 

Должно быть:

 $(".overlay_content").html("<img src='" + grabbed_img + "'>").fadeIn(300); 
+0

а вы, ребята, оба получили это, отлично, я не знал, что мне пришлось поставить эти дополнительные кавычки там. – ExodusNicholas

1

Try в строке 7 вашего скрипта:

(".overlay_content").html("<img src='" + grabbed_img + "'>").fadeIn(300); 

В JavaScript нет переменной интерполяции типа, который вы пытаетесь использовать. Вам нужно построить строку, используя оператор конкатенации.

1

его не захватывая название, потому что вы не направляя ее, чтобы захватить название изображения, вы направляете его, чтобы захватить название div, и у него его нет.

$('.overlay_img img') 
+0

OP _wanted_ название div, а не название изображения. Отмеченный ответ объясняет проблему, которая представляет собой проблему с формированием нового html. –