Fancybox不会显示有针对性的div

时间:2011-06-09 22:28:06

标签: jquery fancybox

我有一个带描述的项目列表。在列表中,我显示了描述的片段,其中包含带有生成的href的锚标记。锚标记下面是一个隐藏的div,其中包含我想要出现在fancybox中的完整描述:

<ul id="op_list">
   <cfloop query="session.data">
    <li><p class="op_desc"><cfoutput>#Mid(title, 1, 26 )#</cfoutput>&hellip; 
      <a class="viewitem" href="listings.cfm#item<cfoutput>#item_id#</cfoutput>">More Info</a></p>
                <div style="display:none;">
                    <div id="item<cfoutput>#item_id#</cfoutput>">
                    <h2><cfoutput>#title#</cfoutput></h2>
                    <p><cfoutput>#description#</cfoutput></p>
                    </div>
                </div>
        </li>
    </cfloop>
</ul>

然后我有了一些jQuery(在document.ready()函数内部),它应该使用完整的项目描述来启动fancybox但是,它不会触发fancybox。这是我的jQuery:

$('.viewitem').live('click', function(e){
    e.preventDefault();
    var theDiv = '#' + this.hash.substr(1);
    alert(theDiv);
    $(theDiv).fancybox({
        'titleShow'  : false,
        'transitionIn'  : 'elastic',
        'transitionOut' : 'elastic'
        });
});

我在哪里错了。如果我有代码,我可以解开fancybox,所以我知道fancybox连接并正常工作。此外,警报也会生成相应的代码,因此我知道这也有效。

我在这里错过了一件非常简单的事情?

1 个答案:

答案 0 :(得分:1)

答案在于我如何形成jQuery fancybox功能。这是正确的代码......

$('.viewitem').live('click', function(){
    $.fancybox({
        'href' : '#' + this.hash.substr(1)
    });     
    return false;
});