0

我正在为每篇文章创建一个带有 jquery 扩展框的电子通讯。默认情况下,每个扩展框都是关闭的。我们会在每期之前发送一封电子邮件预告片,其中包含每篇文章的链接。我想知道是否有任何方法可以扩展我在预告片代码中链接到的文章(或者可能在命名链接的类中)。作为参考,可以在此处找到 jquery 文件:http: //jjnursingnotes.com/NOV12/jquery.expander.js

时事通讯的 HTML 如下所示。将指向http://jjnursingnotes.com/NOV12#01的链接插入电子邮件预告片时,我希望显示 div 层“扩展器”中的内容。

<div class="expander">
    <a name="01"></a>
    <h1>Title</h1>
    <h2>Subtitle</h2>
    <h3>content</h3>
</div>
4

1 回答 1

1

在不查看扩展器插件的细节的情况下,这是我最近在我自己的一个站点中使用的解决方案。希望您可以自定义以使用您正在使用的扩展器插件。我不能把变量解析归功于它,这起源于其他地方。

您的链接需要这样设置:

http://jjnursingnotes.com/NOV12?section=01

然后你的JavaScript:

<script type="text/javascript">
// Redirect to Appropriate Section
var urlParams = {};
(function () {
    var match,
        pl     = /\+/g,  // Regex for replacing addition symbol with a space
        search = /([^&=]+)=?([^&]*)/g,
        decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
        query  = window.location.search.substring(1);

    while (match = search.exec(query))
       urlParams[decode(match[1])] = decode(match[2]);
})();

$(document).ready( function(){
    if ( urlParams['section'] != '' ) {
        // urlParams['section'] variable = the ?section=XXX part of URL
        // Here is where you would need integration with expanding box

        // Assuming you use something like <div class="expander" id="sect01">
        // as your expander, something to this effect ought to work:

        $("#sect" + urlParams['section'] ).find(".read-more a").click();

        // Position document at start of anchor 
        $('body,html').animate({ scrollTop: $("#sect" + urlParams['section'] ).offset().top }, 500 );
    }
});
</script>
于 2012-11-12T19:46:33.440 回答