本实例使用Javascript实现在textarea光标处插入文本,支持多种浏览器,效果网址:http://www.keleyi.com/dev/36d87291ba370420.htm
下面是代码:
--------------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS在文本域鼠标指定位置插入文本-柯乐义</title>
<script type="text/javascript">
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
sel.select();
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
// save scrollTop before insert www.keleyi.com
var restoreTop = myField.scrollTop;
myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
if (restoreTop > 0) {
myField.scrollTop = restoreTop;
}
myField.focus();
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
} else {
myField.value += myValue;
myField.focus();
}
}
</script>
</head>
<body>
<div >
<textarea id="keleyi_com" >
柯乐义 Javascript 在textarea光标处插入文本
</textarea>
<input type="button" onclick="insertAtCursor(document.getElementById('keleyi_com'),'www.keleyi.com')" value="插入文本" />
</div></body>
</html>
本文转载自柯乐义http://www.keleyi.com/dev/36d87291ba370420.htm
本文链接
对于foundation框架的使用,应该说是越来越是主流,但是对于它的中文资料特别的少,导致国内对foundation的使用少之又少,中国的多数网站仍然是多年前,一成不变的布局和展示,跟不上时代,永远是界内的跟随者,甚至可以说是都没有混进界内。最近一直再研究foundation框架,也是从零认识,先总结了一些基础知识,这里要说的是如何通过sass来应用foundation,自己琢磨,如果有错误,欢迎大家指正,自己学的很累也很慢,大家的智慧才是完美的,好了,不多说了,切入正题。
1什么是sass?
sass是css预处理器的一种,我们也听说过less,less与sass的最大区别就是,less是基于JavaScript,所以,是在客户端处理的,Sass是基于Ruby的,所以是在服务器端处理的。
2什么是ruby?
想要支持sass,那必然要先安装ruby环境,自然先要搞清什么是ruby,不过,我在这里只提一句,它是一种面向对象的编程语言,再准确点是脚本语言,sass就是ruby编写的,因此要在电脑上安装ruby环境。
3什么是compass
是基于sass开发的框架,形象的来说就好比js和jquery的关系
4 ruby的安装
a下载ruby安装包,地址为http://rubyforge.org/frs/?group_id=167&release_id=47158,选择最新的支持windows的版本,最新版是2.0.0.0,如果你是个新手,则直接下载exe的
b按照提示进行安装,唯一要注意的是选择路径的下方需要勾选Add Ruby executables to you path这一项,否则你要手动去配置。
5 sass的安装
在命令行输入gem install sass,等待片刻即可
6 compass的安装
在命令行输入gem install compass
7 zurb-foundation的安装
现在轮到主角的安装了,在命令行输入gem install zurb-foundation即可
如需更新foundation版本,使用gem update zurb-foundation命令
8 建立一个新项目
在命令行输入cd xx/xx/xx(这里是你要建立项目的路径)
在相应的路径下输入
compass create myprojectname -r zurb-foundation —using foundation
其中myprojectname为你的项目名称
9 如果你有一个用compass建立的项目,如何升级到foundation呢
A 找到项目中的config.rb配置文件,在第一行添加require "zurb-foundation",意思是引用zurb-foundation框架
B 命令行输入cd xx/xx/xx(这里是进入你的项目路径)
C 运行compass install foundation
10 来了解一下项目中的文件
.sass-cache文件夹是sass预处理的缓存文件
javascripts文件夹不用多说,存放脚本文件
sass文件夹存放sass源文件
stylesheets文件夹存放编译好的最终的css文件
config.rb文件是项目的配置文件,主要配置文件路径
humans.txt这是一个很有趣的文件,没什么实际意义,主要是人情味的传播
index.html是一个展示页
MIT-LICENSE.txt是开发这的一个声明
robots.txt网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取
11 sass文件夹中的文件各是什么功能
_settings.scss是全局设置,主要内容是全局变量,默认情况变量都是关闭的,是用\\注释掉了,在顶部@import "/blog_article/foundation/foundation-global/index.html";引用了foundation的默认变量值,如需自己定义变量,可把相应变量前的\\删掉,并修改为符合自己的值即可,如果文件中没有自己想要的变量,可以自行添加。
app.scss是生成框架样式的文件,主要构成是最顶部@import "/blog_article/settings/index.html";引用全局变量文件,往下,@import "/blog_article/foundation/index.html";引用框架全部部件,再下,是单独的各个部件,是用\\注释了,如果你不需要全部的部件,可以把@import "/blog_article/foundation/index.html";注释掉,然后再一一开启你所想要的各部件。
normalize.scss是样式初始化的文件
另外要说明的一点,文件中引用的部件样式源文件都在foundation的安装目录下,例如这样的路径
C:/Ruby200/lib/ruby/gems/2.0.0/gems/zurb-foundation-4.0.9/scss/foundation/components/_global.scss
12 如何把scss文件编译成css文件
修改了sass文件夹中的scss文件后,打开命令窗口,在项目的路径下输入compass watch,stylesheets文件下相应的css文件会自动更新,你可以在修改scss全部完成之后执行此命令,也可以提前执行此命令,可实时更新。当不需要修改时按ctrl+c,按提示输入y进行关闭
常用命令
1 cmd
(1)换盘符直接d:,d是你想要的盘符
(2)改变路径cd sass,路径就会成为d:/sass>,sass一定要存在
2 sass
(1)查看scss文件:sass style.scss
(2)编译scss文件:sass style.scss style.css
(3)编译风格:sass —style compressed style.scss style.css
其中nested:嵌套缩进的css代码,默认值
expanded:没有缩进的,扩展的css代码
compact:简洁格式的css代码
compressed:压缩后的css代码
(4)监听文件:sass —watch style.scss:style.css
(5)监听不同目录下的文件:sass —watch xx/sass:xx/style
3 compass
(1)创建项目:compass create projectname
(2)编译文件:compass compile
(3)编译为压缩文件:compass compile —output-style compressed
(4)监听文件compass watch
资料http://compass-style.org/reference/compass/
本文链接
今天,我跟大家分享一下有关于JQuery的一些常用的选择器、过滤器以及方法,jquery的东西太多了,我相信很少有人全部记住,我常常忘记,要用到的时候就查查看,希望这篇文章对大家有帮助,如果有写的不对的地方,请大家指正。
1、jQuery对象转换成DOM对象
a.
var $cr = $("#cr");//jQuery对象
var cr=$cr[0];//DOM对象
alert(cr.checked);//检测checkbox是否被选中了
b.
var $cr=$("#cr");//jQuery对象
var cr=$cr.get(0);//DOM对象
alert(cr.checked);//检测checkbox是否被选中了
2.DOM对象转换成jQuery对象
var cr=document.getElementById("cr");//DOM对象
var $cr=$(cr);//jQuery对象
注:平时用到的jQuery对象都是通过$()函数造出来的,$()函数就是一个jQuery对象的制造工厂
3.jQuery的选择器
a.$("#test")选取id为test的元素
b.$(".test")选取所有class为test的元素
c.$("p")选取所有的<p>元素
d.$("*")选取所有的元素
e.$("div span")选取<div>里的所有span元素
f.$("div>span")选取<div>元素下元素名是<span>的子元素
g.$(".one+div")选取class为one的下一个<div>元素
h.$("#two~div")选取id为two的元素后面的所有<div>兄弟元素===$("#two").nextAll("div")===$("#two").siblings("div")选取id为two元素的所有同辈div,无论前后位置
4.jQuery的过滤器
a.$("div:first")选取所有<div>元素中的第一个<div>元素
b.$("div:last")选取所有<div>元素中的最后一个<div>元素
c.$("input:not(.myClass)")选取class不是myClass的<input>元素‘
e.$("input:even")选取索引是偶数的<input>元素
f.$("input:odd")选取索引是奇数的<input>元素
g.$("input:eq(1)")选取索引等于1的<input>元素
h.$("input:gt(1)")选取索引大于1的<input>元素(注:大于1,而不包括1)
i.$("input:lt(1)")选取索引小于1的<input>元素(注:小于1,而不包括1)
j.$(":header")选取网页中所有的<h1>、<h2>、<h3>.....
k.$("div:animated")选取正在执行动画的<div>元素
5.内容过滤选择器
a.$("div:contains('我')")选取含有文本'我'的<div>元素
b.$("div:empty")选取不包含子元素(包括文本元素)的<div>空元素
c.$("div:has(p)")选取含有<p>元素的<div>元素
d.$("div:parent")选取拥有子元素(包含文本元素)的<div>元素
6.可见性过滤器
a.$(":hidden")选取所有不可见的元素,包括<input type="hidden"/>、<div ></div> 和<div ></div>等元素b.$("div:visible")选取所有可见的<div>元素
7.属性过滤选择器
a.$("div[id]")选取拥有属性id的元素
b.$("div[title=test]")选取属性title为"test"的<div>元素
c.$("div[title!=test]")选取属性title不等于"test"的<div>元素(注意:没有属性title的<div>元素也会被选取)
d.$("div[title^test]")选取属性title以"test"开始的<div>元素
e.$("div[title$=test]")选取属性title以"test"结束的<div>元素
f.$("div[title*=test]")选取属性title含有"test"的<div>元素
g.$("div[id][title$='test']")选取拥有属性id,并且属性title以"test"结束的<div>元素
8.子元素过滤选择器
a.:nth-child(index/even/odd)选取每个父元素下的第index个子元素或者奇偶元素:eq(index)只匹配一个元素,并且是总0算起的,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的。
b.:first-child只返回单个元素,而:first-child选择符将为每个父元素匹配第一个元素例如$("ul li:first-child");选取每个<ul>中的第一个<li>元素
c.:last-child选取每个父元素的最后一个子元素,同样:last只返回单个元素,而:last-child选择符将为每个父元素匹配最后一个子元素例如$("ul li:last-child")选择每个<ul>中的最后一个<li>元素
d.:only-child如果某个元素师它父元素中唯一的子元素,那么它将会被匹配,如果父元素中含有其它元素,则不会被匹配
例如:$("ul li:only-child")在<ul>中选取是唯一子元素的<li>元素:nth-child()选择器是很常用的子元素过滤选择器,详细功能如下:
a.:nth-child(even)能选取每个父元素下的索引值是偶数的元素
b.:nth-child(odd)能选取每个父元素下的索引值是奇数的元素
c.:nth-child(2)能选取每个父元素下的索引值等于2的元素
d.:nth-child(3n)能选取每个父元素下的索引值是3的倍数的元素,(n从0开始)
e.:nth-child(3n+1)能选取每个父元素下的索引值是(3n+1)的元素。
(n从0开始)例如:
a.$('div.one:nth-child(2)').css("background","red")表示改变每个class为one的<div>父元素下的第二个子元素的背景色
b.$('div.one:first-child').css("background","red")表示改变每个class为one的<div>父元素下的第一个子元素的背景色
c.$('div.one:last-child').css("background","red")表示改变每个class为one的<div>父元素的最后一个子元素的背景色
d.$('div.one:only-child').css("background","red")表示如果class为one的<div>父元素下只有一个子元素,那么则改变这个子元素的背景色
9.表单对象属性过滤选择器
a.$("#form1 :enabled")选取id为"form1"的表单内所有可用元素
b.$("#form2:disabled")选取id为"form2"的表单内所有不可用元素
c.$("input:checked")选取所有被选中的<input>元素
d.$("select:selected")选取所有被算中的选项元素
e.$(":input")选取所有<input><textarea><select><button>元素
f.$(":text")选取所有的单行文本框
g.$(":password")选取所有的密码框
h.$(":radio")选取所有的单选框
i.$(":checkbox")选取所有的复选框
j.$(":submit")选取所有的提交按钮
k.$(":image")选取所有的图像按钮
l.$(":reset")选取所有的重置按钮
m.$(":button")选取所有的按钮
n.$(":file")选取所有的上传域
o.$(":hidden")选取所有的不可见元素
10.$(document).ready(function{}) 表示dom加载完成后出发window.onload= 只能注册一个方法,必须页面上所有的内容都加载完毕后触发(图片,css,js都加载完毕)
11.节点遍历next() nextAll() prev() prevAll() siblings() end() andSelf() parent() children()
12.设置样式css() 设置行内样式 设置标签的style属性attr("class","c1") 对class属性赋值 设置标签的所有样式addClass("myClass")(不影响其他样式) removeClass("myClass") 移除样式toggleClass("myClass") 如果存在样式则去掉样式,如果没有样式则添加样式hasClass("myClass") 判断样式是否存在
13.链式变成$(this).css("background-color","red").siblings().css("background-color","white");
本文链接