快速业务通道

MooTools教程(7):设置和获取样式表属性

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07

如果在我们的CSS文件中有这样的样式定义:

参考代码: [复制代码] [保存代码]
  1. #body_wrap {
  2.     width1000px;
  3.     height1000px;
  4.     background-color: #eeeeee;
  5. }

那么变量bgStyle将包含值“#eeeeee”。

注意:如果你要从你的样式表对象中取得一个单独的属性,首先取得一个对象变量(在这个例子中是“bodyStyles”),然后使用方括号和单引号(['''']),最后填入属性名key(如width或者background-color)。就这么简单!

代码示例

在这个例子中,我们将使用我们刚才在上面学到的一些方法来获取和设置样式。在注意样式属性操作用法的同时,也要特别注意它本身的结构。为了把我们的函数从domready中独立出来,我们需要把那些变量传递到domready事件的函数中。我们通过给domready里面的函数传递一个参数来实现这个。注意点击(click)事件使用了匿名方法——这可以让我们从domready事件中把变量传递到外面的函数中。如果你第一遍没有看懂,请不要着急,下面的例子可能会让这些更清楚更明白一些:

参考代码: [复制代码] [保存代码]
  1. // 这里是一些函数
  2.  
  3. // 注意这个函数有一个参数:"bgColor"
  4. // 这个是从domready事件中传递过来的
  5. var seeBgColor = function(bgColor) { 
  6.     alert(bgColor);
  7. }
  8.  
  9. var seeBorderColor = function(borderColor) {
  10.     alert(borderColor);
  11. }
  12.  
  13. // 我们把playDiv传递给这个函数,从而可以操作这个元素
  14. // 也可以让我们避免重复地使用选择器
  15. // 在处理复杂的选择器时很有用
  16. var seeDivWidth = function(playDiv) {
  17.     // 我们再次开始获得样式属性
  18.     // 和我们在domready中用的getStyles独立开来
  19.     // 因为我们想使用当前的值
  20.     // 这可以保持width是准确的
  21.     // 即使它在domready事件之后被改变了
  22.     var currentDivWidth = playDiv.getStyle(''width'');
  23.     alert(currentDivWidth);
  24. }
  25.  
  26. var seeDivHeight = function(playDiv) {
  27.     var currentDivHeight = playDiv.getStyle(''height'');
  28.     alert(currentDivHeight);
  29. }
  30.  
  31. var setDivWidth = function(playDiv) {
  32.     playDiv.setStyle(''width''''50px''); 
  33. }
  34.  
  35. var setDivHeight = function(playDiv) {
  36.     playDiv.setStyle(''height''''50px'');
  37. }
  38.  
  39. // 注意,在这个时候,这个变量可以取任何名称
  40. // 它会传递任何值,value或者element或者你的任何东西
  41. // 它将会取代任何在domready里面传过来的东西
  42. var resetSIze = function(foo) {
  43.     foo.setStyles({
  44.         ''height''200,
  45.         ''width''200
  46.     });
  47. }
  48.  
  49. window.addEvent(''domready''function() {
  50.     // 因为我们要多次使用这个选择器,所以我们把它赋值给一个变量
  51.     var playDiv = $(''playstyles'');
  52.  
  53.     // 这里我们创建了一个包含几个属性的对象
  54.     var bodyStyles = playDiv.getStyles(''background-color''''border-bottom-color''); 
  55.  
  56.     // 你可以通过调用属性名来获得样式值然后传递给一个变量
  57.  
  58.     var bgColor = bodyStyles[''background-color'']; 
  59.  
  60.     // 这里我们使用了一个匿名函数,从而我们可以把参数传递给domready外面的函数 
  61.     $(''bgcolor'').addEvent(''click''function(){
  62.         seeBgColor(bgColor);
  63.     });
  64.  
  65.     $(''border_color'').addEvent(''click''function(){
  66.         // 除了可以把一个样式属性传递给一个变量 
  67.         // 你还可以在这里直接调用
  68.         seeBorderColor(bodyStyles[''border-bottom-color'']);
  69.     });
  70.  
  71.     $(''div_width'').addEvent(''click''function(){
  72.         seeDivWidth(playDiv);
  73.     });
  74.  
  75.     $(''div_height'').addEvent(''click''function(){
  76.         seeDivHeight(playDiv);
  77.     });
  78.  
  79.     $(''set_width'').addEvent(''click''function(){
  80.         setDivWidth(playDiv);
  81.     });
  82.  
  83.     $(''set_height'').addEvent(''click''function(){
  84.         setDivHeight(playDiv);
  85.     }); 
  86.  
  87.     $(''reset'').addEvent(''click''function(){
  88.         resetSIze(playDiv);
  89.     });
  90. });

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号