1

我正在开发一个 wordpress 网站,他的客户希望我调整我们的 AdSanity 插件,以像本页一样以旋转图片库的方式显示广告组。排行榜广告肯定是 AdSanity 运行的。我能够从查看源代码中得知这是我需要的脚本:

$(function() {
    var adsLists = $('.adsanity-group'),
        i = 0;
    var divs = new Array();

    adsLists.each(function() {
        divs[i] = $("#" + $(this).attr('id') + " div").not(".clearfix").hide();
        i++;
    });

    var cycle_delay = 12000;
    var num_groups = $('.adsanity-group').length;

    function cycle(divsList, i) {
        divsList.eq(i).fadeIn(400).delay(cycle_delay).fadeOut(400, function() {
            cycle(divsList, ++i % divsList.length); // increment i, and reset to 0 when it equals divs.length
        });
    };

    for (var j = divs.length - 1; j >= 0; j--) {
        if (divs[0].eq(0).attr('num_ads') > 1)
            cycle(divs[j], 0);
        else
            divs[j].show();
    };

    //////////

    $('#slides').slidesjs({
        width: 552,
        height: 426,
        navigation: false,
        play: {
            auto: true
        }
    });

    //////////

    $('.three_lines_fixed').each(function() {
        $clamp(this, {
            clamp: 3
        });
    });

    var top_divs = $("#adspace div").not(".clearfix").hide(),
        top_i = 0;

    var top_num_ads = $('#adspace > div').attr("num_ads");
    var top_cycle_delay = 12000;

    function top_cycle() {

        top_divs.eq(top_i).fadeIn(400).delay(top_cycle_delay).fadeOut(400, top_cycle);

        top_i = ++top_i % top_divs.length; // increment i, 
        //   and reset to 0 when it equals divs.length
    };
    if (top_num_ads > 1) {
        top_cycle();
    } else {
        top_divs.show();
    }
    var site_url = $("body").attr("site_url");
    $("#brpwp_wrapper-2 ul").append("<li style='text-align: center;'><a class='widgetized_read_more' href='" + site_url + "/2013'>Read More</a></li>")
    /**/

其中一些我认为我不需要,例如three_lines_fixed 或幻灯片。我还有用于#adspace 的 CSS: div.header div#adspace { float: right; max-width: 728px; max-height: 90px; } div.header div#adspace img { float: right; }

还有这个CSS: div#page .main_content ul.widgets li.adspace { display: none; }

在我的网站http://dsnamerica.com/eisn/上,我希望右侧边栏上 300 像素宽度的广告能够像 Vype 网站上的广告一样旋转。这些广告虽然没有与 ul 和 li 一起列出,但它们是 div。

到目前为止,我已将其添加到结束标记之前的 header.php 主题文件中: <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/fading-ads.js"></script>

在那个文件(js/fading-ads.js)中,我有这个:

function adsanitygroup() {
    var adsLists = $('.adsanity-group'),
    i = 0;
    var divs = new Array();
    adsLists.each(function() {
        divs[i] = $("#" + $(this).attr('id') + " div").not(".clearfix").hide();
        i++;
    });
    var cycle_delay = 12000;
    var num_groups = $('.adsanity-group').length;
    function cycle(divsList, i) {
        divsList.eq(i).fadeIn(400).delay(cycle_delay).fadeOut(400, function() {
            cycle(divsList, ++i % divsList.length); // increment i, and reset to 0 when it equals divs.length
        });
    };
    for (var j = divs.length - 1; j >= 0; j--) {
        if (divs[0].eq(0).attr('num_ads') > 1)
            cycle(divs[j], 0);
        else
            divs[j].show();

        var top_divs = $("#adspace div").not(".clearfix").hide(),
        top_i = 0;
        var top_num_ads = $('#adspace > div').attr("num_ads");
        var top_cycle_delay = 12000;
        function top_cycle() {
            top_divs.eq(top_i).fadeIn(400).delay(top_cycle_delay).fadeOut(400, top_cycle);
            top_i = ++top_i % top_divs.length; // increment i,
            // and reset to 0 when it equals divs.length
        };
    if (top_num_ads > 1) {
        top_cycle();
    } else {
        top_divs.show();
    };
};
}

那是我尝试定义功能并清除我不需要的东西。我不认为,不,我知道这是不对的。所以我会把我的问题放在一个列表中,因为这篇文章已经很罗嗦了。

1)我是否在主题的 header.php 文件中正确链接了 js 文件?它就在结束</head>标签之前。

2) 我是否需要第二个 CSS 部分显示“显示:无”,如果需要,如何更改 CSS 以使用 div 而不是 ul 和 li?我是否只是更改div#page .main_content ul.widgets li.adspace { display: none;}div#page .main_content .widgets .adspace { display: none; } 然后将类 .adspace 添加到小部件?

看,我已经尝试让这个工作好几天了,我想了很多,我不再做有凝聚力的理论,只是在黑暗中拍摄。如何解决这个问题?

4

0 回答 0