2010-04-10 2 views
12

Как мне получить поле Fancy для таргетинга на определенный идентификатор DIV на странице и не запрашивать всю страницу в fancybox.? Это мой код так, плата за проездJQuery FancyBox целевой целевой идентификатор DIV?

$(function() { 

$(".style_image a").live('click', function(event) { 

    $(".style_image a").find("#show_style").fancybox();  

}); 
}); 

Это не работает?

Первоначально я попытался следующие:

$(function() { 

    $(".style_image a").live('click', function(event) { 

     $(this.href + " #show_style").fancybox();  

    }); 
    }); 

Не знаете, как это сделать, или, если это вообще возможно?

here are the doc's

ответ

7

Вам просто нужно этот селектор:

$("#show_style").fancybox(); 

ID selector (поскольку идентификаторы должны быть уникальными) является только #IDGoesHere

Я думаю что вы после загружающего в некоторых fancybox, если вы хотите загрузить, скажите <div id="content"></div> со страницы, на которую указывает href, вы сделали бы это, используя .load():

$(".style_image a").on('click', function(event) { 
    $('#show_style').load(this.href + " #content").fancybox();  
}); 

.load() имеет возможность для url selector, который загружает только часть целевой страницы.

+0

Пожалуйста, вы думаете, что вы могли бы мне помочь с этот вопрос http://goo.gl/Yl5qIi – Axel

24

Если вы хотите FancyBox открыть определенный DIV вы просто использовать следующие простые шаги:

Во-первых, нужно ссылку на зацепить FancyBox к:

<a href="#myDivID" id="fancyBoxLink">Click me to show this awesome div</a> 

Обратите внимание на ДИВ идентификатор рядом якорь.

Во-вторых вам нужно DIV, который будет отображаться внутри FancyBox:

<!-- Wrap it inside a hidden div so it won't show on load --> 
<div style="display:none"> 
    <div id="myDivID"> 
     <span>Hey this is what is shown inside fancybox.</span> 
     <span>Apparently I can show all kinds of stuff here!</span> 
     <img src="../images/unicorn.png" alt="" /> 
     <input type="text" value="Add some text here" /> 
    </div> 
</div> 

И третий некоторые очень простой JavaScript, чтобы подключить все вместе

<script type="text/javascript"> 
    $("a#fancyBoxLink").fancybox({ 
     'href' : '#myDivID', 
     'titleShow' : false, 
     'transitionIn' : 'elastic', 
     'transitionOut' : 'elastic' 
    }); 
</script> 
+0

Как насчет использования идентификатора, чтобы открыть div в fancybox, если вы не можете изменить значение href? то есть открыть div в fancybox при нажатии на img, который имеет идентификатор> –

+0

. Charlie меняет идентификатор здесь 'href': '#myDivID', в приведенном выше коде. – Yasir

+0

Если я хорошо понял этот пример, он очень сложный из 100 изображений, потому что мне нужно написать 100 скриптов, каждый для одного изображения, потому что он работает с ID. Кроме того, моя цель состояла в том, чтобы открыть причудливое изображение в div, который является cca. 70% ширины экрана, но с этим методом, когда я открываю изображение, он открывается на 100% размер экрана, как и первоначально ... –