2010-05-09 2 views
0
<script type="text/javascript"> 
    $(function() { 
     $('#wp-calendar a').click(function(event) { 
      event.preventDefault(); 

      var url = $(this).attr('href') + ' #content'; 

      var loaded = Shadowbox.load(url); 

      Shadowbox.open({ 
       content: loaded, 
       player:  "html", 
       title:  "<?php the_title(); ?>", 
       height:  300, 
       width:  470, 
      }); 
     }); 
    }); 
</script> 

Это код, который я использую, чтобы попытаться отобразить содержимое в shadowbox, я использую календарь Wordpress по умолчанию и с jQuery/AJAX (если не ошибаюсь), добавляя это событие click к каждой ссылке в календаре , так что при щелчке по ссылке содержимое загружается и отображается в теневом блоке вместо открытия на новой странице.Загрузка содержимого href в shadowbox с использованием .load() HELP!

Когда я нажимаю на одну из ссылок, все, что я получаю внутри тени, является «неопределенным».

Как я уверен, вы можете видеть в моем коде, я все еще очень новичок в этом, поэтому любая помощь или указатели будут оценены.

Thanx заранее!

ответ

1

Во-первых, используйте функцию оповещения() для отладки кода.
Как это:

<script type="text/javascript"> 
    $(function() { 
     $('#wp-calendar a').click(function(event) { 
      event.preventDefault(); 

      var url = $(this).attr('href') + ' #content'; 
      alert(url); 
     }); 
    }); 
</script> 

Я считаю, что он генерирует неверный URL, потому что он добавляет unnecessare символ пробела до конца.
(... + ' #content')

Если все файлы в конце концов не заканчиваются пробелом, это действительно испортит его. Снимите место перед #.

var url = $(this).attr('href') + '#content'; 

Если после этого это не сработает, еще одна проблема.

+0

Прохладный, попробует. Даже без пробела я все еще становлюсь неопределенным. – Odyss3us

+0

Я получаю содержимое в предупреждении http: // localhost/website/2010/05/08 #. – Odyss3us

+0

Если URL-адрес в порядке, см. Ответ Заха Бялецкого. – Venemo

0

Первое, что я заметил, это то, что ваш url не должен содержать пробелов. Возможно, поэтому, когда Shadowbox вызывает вызов AJAX, он не может найти контент. Я не очень хорошо знаком с Shadowbox, но вы можете легко протестировать это с помощью консоли Firebug. Попробуйте ввести что-то вроде этого и увидеть, если вы загружаете правильное содержание:

$.get(url, function(data) { console.log(data); }); 
+0

Хорошо, круто, дайте ему идти! Но, к сожалению, я довольно неуверен в своем синтаксисе, и я также не знаю точно, как использовать консоль firebug, или что именно этот код будет делать, когда я войду в консоль. Не могли бы вы рассказать немного больше? Thanx для ответа! – Odyss3us

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