WEB开发网
开发学院网页设计JavaScript JavaScript教程:网页浮动定位提示效果 阅读

JavaScript教程:网页浮动定位提示效果

 2010-09-14 13:47:26 来源:WEB开发网   
核心提示: CheckShow程序是这样的: if (trigger !== this._trigger) { this.Hide(); this._trigger = trigger; return true; } else { return false; }; 如果不是同一个触发对象,就先执行H

CheckShow程序是这样的:

if (trigger !== this._trigger) {
    this.Hide(); this._trigger = trigger; return true;
} else { return false; };

如果不是同一个触发对象,就先执行Hide清理前一个触发对象,防止冲突,再执行ReadyShow来显示。

如果是同一个触发对象,就说明当前是延时隐藏阶段,清除定时器保持显示状态就行了。

对应的,点击方式隐藏是指点击外部元素的时候隐藏Tip。

在ReadyShow里,当ClickHide为true时,就会把_fCH绑定到document的click事件里:

trigger.ClickHide && addEvent(document, "click", this._fCH);

注意这里要把隐藏绑定事件放到ReadyShow,而不是Show里面,因为延时的时候有可能还没有显示就触发了隐藏事件。

其中_fCH是在初始化时定义的一个属性,用于添加和移除点击隐藏事件:

this._fCH = BindAsEventListener(this, function(e) {
    if (this.Check(e.target) && this.CheckHide()) {
        this.ReadyHide(this._trigger.ClickHideDelay);
    }
});

注意不同于点击显示,由于绑定的是document,隐藏前要先确定e.target是不是外部元素。

其中CheckHide是作用是检查Tip当前是不是隐藏状态:

if (this._cssTip.visibility === "hidden") {
    clearTimeout(this._timer);
    removeEvent(this._trigger.Elem, "mouseout", this._fTH);
    this._trigger = null;
    removeEvent(document, "click", this._fCH);
    return false;
} else { return true; };

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:JavaScript 教程 网页

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接