单击 swf 文件下方的 html 元素 - 可能吗?



你会认为这是最容易找到答案的想法。

我在任何地方都找不到简单的是或否的答案。

我有一个 swf 叠加层,请看这里...http://goo.gl/mPylnG

我想做的只是能够单击下面的 html 元素。你认为很简单。


这是我在我身体下面的代码...

<div id="eCard">
    <a href="#">
        <img src="images/suzuki-xmas-ecard-web.jpg" alt="" />
    </a>
</div>
<div id="snowContent"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
var params = {
    wmode: "transparent"
};
var attributes = {};
attributes.id = "snow";
swfobject.embedSWF("images/snow-storm.swf", "snowContent", "100%", "100%", "9.0.0", false, flashvars, params, attributes);
</script>


如果有人有答案的链接,请分享,因为我找不到。

谢谢乔希

为什么不简单地让 swf 画布导航到铃木网站 www.suzuki-gb.co.uk?只需创建一个不可见的按钮,该按钮是画布的整个大小。

。一旦他们到达该网站,他们就可以从那里关注社交网络。还有哪些其他链接?

试试这个也许?http://seb.ly/demos/JSSnowNew/snow3d.html

我不确定这是否可以使用 Flash 文档来完成,因为它位于占用该空间的插件中。即使将 swf 设置为透明,Flash 文件也会在该objectembed区域内控制鼠标(尝试右键单击...你看?

您可以使用jQuery克隆文档中的链接,并将它们放在闪存上方的假面层上。 以下 jQuery 应克隆您的链接并附加所有事件,因此也应复制附加到单击的任何分析事件

var linklayer = $('<div id="links"></div>');
$('body').append(linklayer);
//change the selector to include anything that is clickable
$('a').each(function() { 
    var link = $(this),
        clone = link.clone(true, true),
        cloneWrap = $('<span class="link-wrap"></span>');
        link.addClass('hide');
    cloneWrap.css({ 'top': link.offset().top, 'left': link.offset().left }).append(clone);
    var margin = link[0].offsetLeft - link.offset().left;
    if (margin > 0) {
        clone.css('margin-left', margin); //this bit makes the link go over two lines
    }
    linklayer.append(cloneWrap);
});

CSS

#links {position:absolute; top:0; left:0; bottom:0; right:0; z-index:100;} /*z-index needs to be higher than the swf z-index*/
#links > .link-wrap {display:inline-block; position:absolute;} /*link wrap needed for links over two lines*/
.hide {visibility:hidden;}

试试这个,

<div id="eCard">
    <a href="#">
        <img src="http://mailers.suzukibulletin.co.uk/2013/xmas/e-card/images/suzuki-xmas-ecard-web.jpg" alt="" />
    </a>
</div>
<div id="snowContent"></div>
<div id="ecard-proxy"></div>

.CSS:

object {
    left: 0;
    position: absolute;
    top: 0;
}
#ecard-proxy{
   left: 0;
    position: absolute;
    top: 0; 
    display:block;
    z-index:1000;
    width:100%;
    height:100%;
}
#eCard{
    width:auto;
    height:377px;
}

.JS:

$(document).ready(function(){
var flashvars = {};
var params = {
    wmode: "transparent"
};
var attributes = {};
attributes.id = "snow";
swfobject.embedSWF("http://mailers.suzukibulletin.co.uk/2013/xmas/e-card/images/snow-storm.swf", "snowContent", "100%", "100%", "9.0.0", false, flashvars, params, attributes);
    $("#ecard-proxy").click(function(){
        // 
        $("#eCard").trigger("click");
    });
     $("#eCard").click(function(){
         alert("card cicked");
     });
});

检查 Fuddle

最新更新