-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfree_url.js
98 lines (66 loc) · 3.65 KB
/
free_url.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/// <reference path="jquery-1.11.3.min.js" />
/// <reference path="panel.js" />
//https://www.cnblogs.com/kismet82/p/5479390.html
//js 中显示 jquery 提示的方法
//标准化的 a 标签
function FreeUrl(_url, _title, _name,_parent){
//Panel.call(this); //构造继承//构造函数的参数一定要对上,否则其中的 _name 带不过去的
////Panel.call(this, _name, _parent); //构造继承
//Person类的公开属性,类的公开属性的定义方式是:”this.属性名“
this.name=_name;
this.parent=_parent;//类的公开属性
//--------------------------------------------
//定义Person类的公开方法(特权方法),类的公开方法的定义方式是:”this.functionName=function(){.....}“
this.Create = function(){
//document.writeln("在公开方法里面访问类的私有属性是允许的,age="+age+"\t"+"salary="+salary);//在公开方法里面访问类的私有属性是允许的
//$("#"+_name).
//$("#a").t
var _this = this; //可以用微信小程序的方法取得 this
//不能放这里,要放到生成后//var thisjq = $("#" + _this.name);
var s = "<a href='"+ _url +"' id='" + _name + "' >"+ _title +"</a>";
if (null == _parent)
$(document).append(s);
else $("#" + _parent.name).append(s);
var dom = $("#" + _name);
dom._this = this; //似乎传不过去
dom.get(0)._this = this; //要先取得 jquery 变量对应的原始 dom 变量后才能传
////this.free_pos("0px", "0px");
//panel 这些 ui 库默认点击事件是不传递的,所以要让 a 标签起作用的话要打开它
UI_EnableUrlClick(_parent);
}//
//自由定位//左上
this.free_pos = function(x, y, base_parent){
$("#" + this.name).css({"position": "absolute"});
$("#" + this.name).css({"left": x});
$("#" + this.name).css({"top": y});
//一般还要设置父节点
if (base_parent == true){
//$("#" + this.parent.name).css({"position": "absolute"});
$("#" + this.parent.name).css({"position": "relative"}); //父节点为 absolute 的时候效果还不一样,那样的话就是基于自己的正常位置偏移了,比较古怪
}
//当 父元素 的 position 设为 relative 时,
//其子元素的 absolute position 是按照父元素的相对位置来的
//否则就是相对于整个文档的位置,官方说法是 //absolute :生成绝对定位的元素, 相对于最近一级的 定位不是 static 的父元素来进行定位
//其中 static 是 position 的默认值。没有定位,元素出现在正常的流中
}//
//设置字体颜色,并且不要下划线这些
//目前来说改不了
/*
// 就设置 a 和 a:hover 就可以了,否则会在 firefox 系下出错
a1:visited { color: #000000; text-decoration: none;}
a:hover { color: #FF3300; text-decoration: underline;}
a1:active { color: #FF3300; text-decoration: underline;}
a1:link { color: #000000; text-decoration: none;}
a{ color: #000000; text-decoration: none;}
*/
this.SetAsPanelAndFontColor = function(color){
//在JQuery中如何更改伪类:hover的CSS属性//无法用 jquery 的 css
//$("#" + this.name).css({"position": "absolute"});
$("#" + this.name).css({"color": color});
$("#" + this.name).css({"text-decoration":"underline"});
}//
//----------------------------------------
//this.prototype = new Panel();
//Button.prototype.name = 'cat';
//--------------------------------------------
}//