本文目录一览:
- 1、JavaScript如何创建一个类?
- 2、Javascript里的style怎样追加
- 3、怎样用JS来添加CSS样式
- 4、JS创建的style样式怎么使用变量
- 5、用JavaScript动态建立或增加CSS样式表的实现方法
- 6、笔记:JS设置CSS样式的几种方式
JavaScript如何创建一个类?
javascript是一个“基于对象”的编程语言,不是面向对象的编程语言。
你要知道javascript中的function定义的函数实际上就是Function对象实例。
例如:
function demo(x){
alert(x);
}
实际上等价于:
Function demo = new Function("x","alert(x)");
所以你如果想要用javascript来模拟面向对象编程(例如Java的类),那么就可以用function来模拟Class,用function的原型prototype或者嵌套function来模拟类的方法或者属性。下面给你一个简单的例子:
//模拟学生类,可以带参数,例如initName
function Student(initName){
var name = initName; //模拟学生类的属性name
}
Student.prototype.printName = function(){ //定义Student类prototype中的printName函数
alert(this.name);
}
测试时可以这样写:
var student = new Student("张三"); //创建一个“Student对象”,实际上是一个Function实例对象
student.printName(); //执行student对象的printName函数
Javascript里的style怎样追加
思路
1、通过cssText的方式进行拼接。
2、通过设置class,累加设置class的方式进行。
代码示例
1、第一种方式可以用下面函数,el表示dom节点,strCss表示要设置的样式
function setStyle(el, strCss){
function endsWith(str, suffix) {
var l = str.length - suffix.length;
return l = 0 str.indexOf(suffix, l) == l;
}
var sty = el.style,
cssText = sty.cssText;
if(!endsWith(cssText, ';')){
cssText += ';';
}
sty.cssText = cssText + strCss;
}
2、第二种方式把样式定义成class,element表示dom节点,value表示class名称
function addClass(element,value){
if(!element.className){
element.className=value;
}else{
newClassName=element.className;
newClassName+="";
newClassName+=value;
element.className=newClassName;
}
}
怎样用JS来添加CSS样式
例如改变背景色:
1234567div id="changeColor"使用JS改变背景色/divscriptvar cc = document.getElementById("changeColor");cc.style.backgoundColor="#000"; //将背景色改为黑色cc.style.fontSize="20px"; // 将文字大小改为20px,等号右边也可以写为20+"px"cc.style.color="#fff"; //将文字颜色改为白色/script
JS创建的style样式怎么使用变量
可以使用字符串拼接的方式,用setAttribute方法,将原有属性(如果有的话),与想要设置的属性变量拼接到一起。
节点.setAttribute("style",原有属性+属性名变量+":"+ 属性值+";");
用JavaScript动态建立或增加CSS样式表的实现方法
1、简单的方法,不管不顾,直接这样就可以:
document.createStyleSheet().cssText
=
'标签{color:red;'
+
//
这个注释只在当前JS中帮助理解,并不会写入CSS中
'width:300px;height:150px}'
+
'.类名{……}'
+
'#ID们{……}'
;
//完活。我喜欢分号这样写,和指令书写的起始位置对齐比较好一点,尤其是后面有其它语句的时候。
2、完善一点的方法,防止重复添加,可以通过添加样式表ID并对其判断来实现:
if
(!document.styleSheets['要建立的样式表ID如theforever'])
{
//先检查要建立的样式表ID是否存在,防止重复添加
var
ss
=
document.createStyleSheet();
ss.owningElement.id
=
'要建立的样式表ID如theforever';
ss.cssText
=
'标签{display:inline-block;overflow:hidden;'
+
//
这个注释只在当前JS中帮助理解,并不会写入CSS中
'text-align:left;width:300px;height:150px}'
+
'.类名{……}'
+
'#ID们{……}'
;
}
以上这篇用JavaScript动态建立或增加CSS样式表的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
笔记:JS设置CSS样式的几种方式
1、直接更改,比如:
xID.style.display = "block"; // 更改display属性,会覆盖css中的定义。
xID.style.display = ""; // 取消js更改display属性,以css样式为准。
这里的xID,是通过id获取的标签。当然,也可能是通过tagName之类的获取的标签。
这种方式,简单直接。但是要修改大量的样式的时候,不适合。所以,我更推荐第二种方式。
2、更改类名
xID.className = "xx yy";
如果有多个类,就用空格隔开。前提,在样式中要有已有类的定义。比如这里的xx和yy类,在css中应该是写好的。
这种方式把所有的样式写在了css文件中,适合更改较多的样式以及炫酷的样式。js就只做一件事情:改类。至于这个类会把标签变成什么样子,交给css吧。
通过jquery也可以达到如上的效果:
$("#xID").css({
fontSize:"12px",
display:"block"
}); // 直接更改样式
$("#xID").addClass("xx"); // 增加删除类
$("#xID").removeClass("xx");