我在网上找到了这个漂亮的按钮。现在我想知道甚至可以将它与它联系起来吗?按钮的状态需要<a href"">
,href
的第二个div
不存在不起作用。创作者是否犯了一个小错误,或者这样的按钮是否永远不起作用?
答案 0 :(得分:1)
我认为这个按钮的目的是用AJAX发送一些东西(可能是表格),然后显示thank you
侧。
如果您将href
与其他页面一起使用,则在离开页面时将看不到thank you
- 。
如果没有JavaScript,href
上的div
将无法运行。按钮效果在没有JavaScript的情况下起作用,但它本身就没有意义。
更新了示例,将其用作下载链接
为了使按钮适用于非JS用户,您应该将href
设置为您希望他们下载的文件。对于非JS用户,它不会显示thank you
- 侧。
我还在按钮中添加了一个ID(#btn-download
),以便在JS中轻松获取它。
<强> HTML 强>
<a id="btn-download" href="http://www.domain.com/some_file.pdf" class="flipper-container">
<div id="id" class="flipper">
<div class="front-face" data-icon="➣">Click Me</div>
<div class="back-face" data-icon="✓">Thank You</div>
</div>
</a>
<强>的JavaScript 强>
(function (d, w) {
var button = d.getElementById('btn-download');
// Store the download link
var downloadLink = button.href;
// Set the href back to the id of .flipper
button.href = '#' + d.getElementById('id').id;
// Add the cross browser event listener
addEvent('click', button, function() {
// Send the user to the download link
w.location = downloadLink;
});
}(document, window));
// Taken from http://stackoverflow.com/a/6927800/3351720
// This is only to support IE8 and below
function addEvent(evnt, elem, func) {
if (elem.addEventListener) { // W3C DOM
elem.addEventListener(evnt, func, false);
}
else if (elem.attachEvent) { // IE DOM
elem.attachEvent('on' + evnt, func);
}
else { // Not much to do
elem[evnt] = func;
}
}
我没有在各种浏览器中测试它,但我认为它应该适用于所有现代浏览器(Chrome,Firefox,Opera和Safari)和Internet Explorer至少版本7。
答案 1 :(得分:0)
alt href属性只对元素有用,你可以将click事件添加到任何元素来调用url
或者你可以用a
包装一个span