如何重新加载页面而不破坏代码?

时间:2011-08-23 09:27:12

标签: jquery dom

我已在我的系统中集成了一个外部脚本,以便我的用户在观看视频后可以获得积分。点击链接后,弹出窗口将加载视频。视频播完后,会有一个回调“callback_on_conversion”。我需要隐藏按钮,但这并不容易。阅读集成指南,我发现:

  

“这种异步行为有一个限制:javascript代码   你可以在这些回调函数中运行,可能不会使用document.write   功能不起作用。相反,我们建议为   在您的页面中创建/插入新元素(例如后备广告标记)   使用DOM和jQuery。“

这是实际的脚本。同样,我不知道在视频播放完毕后如何隐藏“a”链接。

       <script src="http://iframe.sponsorpay.com/javascripts/widget/v1/widgets.js" charset="utf-8"> </script>
        <script type="text/javascript">

        var sp_object = new SPONSORPAY.Video.Iframe({
            api_host: 'iframe.sponsorpay.com',
            asset_host: 'iframe.sponsorpay.com',
            appid: 'xxxx',
            uid: 'demouser',
            width: '750',
            height: '750',
            display_format: 'bare_player',
            callback_on_start: function() { alert('Video Ready'); },
            callback_on_conversion: function() { alert('finished'); },
            callback_no_offers: function() { alert('No video avabile.'); }
        });

        sp_object.backgroundLoad();
</script>

<a href="#" id="showvideo" name="showvideo" class="showvideo" onClick="sp_object.showVideo()">Load</a>

我应该怎么做以防止代码破坏?谢谢!

2 个答案:

答案 0 :(得分:2)

jQuery有很多操作DOM树的函数。例如,这会选择ID ='showvideo'的属性并将其删除。

$('a#showvideo').remove();

请注意,如果有超过1个此类元素,则只会采用第一个元素,但您也可以选择使用类:

$('a.showvideo').remove();

答案 1 :(得分:1)

如果在视频播放完毕后调用callback_on_conversion,您只需使用jquery隐藏它即可。 http://api.jquery.com/hide/

callback_on_conversion: function() {
    $("a#showvideo").hide();
};