Javascript “搜索邮件”按钮是如何实现的?
我正在使用Firebug,我刚刚看到它是一个带有css的div,但我不明白他们是怎么做到的Javascript “搜索邮件”按钮是如何实现的?,javascript,css,gmail,Javascript,Css,Gmail,我正在使用Firebug,我刚刚看到它是一个带有css的div,但我不明白他们是怎么做到的 <div id=":ri" class="J-Zh-I J-J5-Ji L3 J-Zh-I-Js-Zq" tabindex="0" role="button" style="-moz-user-select: none;">Search Mail</div> 它可能是一个简单的div,附带了一个javascriptonclick函数。如果使用jQuery或其他框架,“操作”可以使
<div id=":ri" class="J-Zh-I J-J5-Ji L3 J-Zh-I-Js-Zq" tabindex="0" role="button" style="-moz-user-select: none;">Search Mail</div>
它可能是一个简单的div,附带了一个javascript
onclick
函数。如果使用jQuery或其他框架,“操作”可以使用or(对于jQuery)函数在其他地方定义。请参阅前面两个链接中提供的示例,以了解这一点。Gmail使用JavaScript检测div上的单击事件。此外,动态添加/删除类,为“按钮”提供正确的样式
对于跨浏览器解决方案,正确设置div
元素的样式要比尝试设置输入
和按钮
元素的样式容易得多。这里仅是CSSed div:
如果你想用这个div做点什么,你需要更多。你只是复制了它,但没有效果?它没有进入你的剪贴板?你把它贴在什么地方了吗?你用浏览器打开那个文件了吗?什么浏览器?出现了什么?你在期待什么?etcI想要按钮的所有效果css只是用于样式,功能在别处定义。哦,我明白了,但如何将该div变成按钮?我正在搜索,但没有Firebug说的搜索邮件的方法。没关系,他们可能使用辅助脚本将动作绑定到div
。查看单击
和绑定
页面上的代码,了解其工作原理的示例。请解释如何动态添加/删除这些类?@George:通过设置DOM元素的className
属性。
.num1 {
-moz-border-radius: 2px 2px 2px 2px;
background: -moz-linear-gradient(center top , #F5F5F5, #F1F1F1) repeat scroll 0 0 transparent;
border: 1px solid rgba(0, 0, 0, 0.1);
color: #666666;
cursor: default;
font: 75% arial,sans-serif;
margin: 0 8px 0 0;
outline: medium none;
padding: 3px 12px;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
.num2{
display: inline-block;
position: relative;
}
.num3{
-moz-border-radius-bottomleft: 0;
-moz-border-radius-topleft: 0;
border-left-width: 0;
margin-left: 0 !important;
}