onmouseover onmouseout fadeIn fadeOut no jQuery
onmouseover onmouseout fadeIn fadeOut no jQuery
我正在寻找一种优雅的解决方案,可以在不使用jQuery的情况下在鼠标悬停时淡入和淡出HTML元素(称我为老式的)。
从理论上讲,下面的js解决方案应该可以工作,但是我遇到了工作问题,有人可以指出我正确的方向或提供替代解决方案吗?
我的 Js 函数是,插入的 HTML 与页面上的 HTML 相同......
function fadeIn(element) {
for (i = 0; i < 100; i++) {
var value = 0 + i;
element.style.opacity = value;
element.style.filter = 'alpha(opacity=' + value + ')';
}
}
function fadeOut(element) {
for (i = 0; i < 100; i++) {
var value = 100 - i;
element.style.opacity = value;
element.style.filter = 'alpha(opacity=' + value + ')';
element.innerHTML = "<div class='container' id='container' onmouseover='fadeOut(this)'><img src='./images/myImage.jpg' onload='fadeIn(this.parent)' /></div>";
}
}
您的淡入/淡出不起作用,因为您没有采取任何措施来控制变化率。这将立即执行并显示/隐藏元素。
尝试这样的事情:
function fadeIn(el) {
var opac = 0;
var i = setInterval(function() {
opac += 10;
if (opac >= 100) {
clearInterval(i);
opac = 100;
}
el.style.opacity = opac;
el.style.filter = 'alpha(opacity=' + opac + ')';
}, 20);
}
这应该在 200 毫秒 (20 * 100/10) 内淡出。玩数字来调整速度。
至于鼠标悬停/悬停,您可以像其他任何东西一样绑定事件。
通常,像您一样使用 HTML 属性附加 JS 事件是不受欢迎的。通常你会有一个这样的帮手:https://gist.github.com/955642
您想编写自己的方法,以检查浏览器支持哪些主要方法,addEventListener
或attachEvent
。
相关文章:
- Wordpress AJAX with raw javascript? NO Jquery
- 禁用复选框上的输入框 jquery NO onchange
- JavaScript 动态更改图像 src 的位置 - NO JQuery
- AngularJS - 在第一个可见元素上应用 CSS 类(Preferred No JQuery)
- jQuery Ajax得到错误No Transport,状态为0
- 通过将按钮id从Code-behind传递给Jquery Function,Set buttons display no
- JQuery 标识每个选择值为 No 的 Div
- IE8 & 9 - no jquery ajax response object
- onmouseover onmouseout fadeIn fadeOut no jQuery
- Javascript Simple Gallery (No JQuery)
- 匿名函数的调用(vanilla-js,pure-js,no-jquery)
- jQuery No Ui Slider,如何锁定多个互连的滑块以始终求和100
- 发布触发ajax请求的html表单NO JQuery
- jQuery .load() <img> no more in <a>
- 未定义ID/No操作Jquery
- jQuery ajax - no jQuery css
- 我如何寻找和采取快照从时间戳存储在数组中的秒/ NO jQuery
- Password int on Textfield - NO jQuery/CSS3/HTML5
- No JQuery UI is working in MVC3
- JSONP Help (No jQuery)