[转]Bootstrap自适应导航栏

导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开。在 Bootstrap 导航栏的核心中,导航栏包括了站点名称和基本的导航定义样式。

默认的导航栏

  1. 向 <nav> 标签添加 class .navbar、.navbar-default。
  2. 向上面的元素添加 role=”navigation”,有助于增加可访问性。
  3. 向 <div> 元素添加一个标题 class .navbar-header,内部包含了带有 class navbar-brand 的 <a> 元素。这会让文本看起来更大一号。
  4. 为了向导航栏添加链接,只需要简单地添加带有 class .nav、.navbar-nav 的无序列表即可。 

继续阅读“[转]Bootstrap自适应导航栏”

自己尝试写的一个javascript模板引擎

现在javascript模板引擎非常多了,让人眼花缭乱,不过很多复杂的引擎很多功能并不需要,并且个人想要在模板中加些js,当然这说来不符合模板应当尽可能跟逻辑分离,但我需要的并没有那么复杂的逻辑,所以还是用嵌入式的吧,于是尝试研究学习了一下,写出这个小东东。

模板

<script type="text/html" id="tmpl">
    <h1>{{header}}</h1>
    <# for(var i in list){ #>
    <li{{ list[i].class ? ' class='+list[i].class : '' }}>{{list[i].title}}</li>
    <# } #>
</script>

继续阅读“自己尝试写的一个javascript模板引擎”

JavaScript中JSON对象转字符串的简单介绍

    将后台程序(如php)发送过来的json数据转化为javascript的数组或者对象的方法十分简单,代码如下:

// 假设后台发送的json数据为 '{a:2,b:1}' 存储于str中
var data = eval( '(' + str + ')' );  

    如果你有用JQuery,那么可以这样做

var data = $.parseJSON( str );

    然而想将一个javascript对象转化为json格式的字符串却并不那么简单,特别是对象的属性值递归包含一个对象时(如 var obj={a:[2,3],b:{m:[3,4],n:2} } ),那么有没有什么方法将obj转化为json格式的字符串呢?
继续阅读“JavaScript中JSON对象转字符串的简单介绍”

在谷歌浏览器下用哈希实现for-in按定义顺序循环

昨天在弄些东西的时候,发现数组在Chrome中for in循环时出现问题,没有按照定义的顺序循环。
查了下原来Chrome会把数组按照索引的值进行排序。
于是自己写了个hash类用来实现,这个hash类跟网上能看到的hash类大体相同,不过它特殊的地方是定义了一个保存索引的数组_key,用来作排序,这样这个hash也就同时有了数字索引和关键字索引。
定义了方法item用来返回数字索引(不带参数时)和根据数字索引获取值,这样就可以在for in循环中使用,并让它保持最初的顺序。
继续阅读“在谷歌浏览器下用哈希实现for-in按定义顺序循环”

js页面代码高亮显示插件

为了给本站在页面显示代码加些效果,于是写了个非常简单的代码高亮插件
主要用正则进行匹配分析,把代码内容分为三大类,特殊类,关键词,和通用类
当然,每一类为了具体分析也分了多种,为了分成不同的颜色。
最先进行字符串查找,记录查找到的信息开始位置,长度,和要加上的样式名
创了个对象用来保存这些信息,再存入一个数组 Phrases 等候使用

cb.CodeBrusher.Phrase = function(index, length, classname){
	this.index = index;
	this.length = length;
	this.class = classname;
}
//this.Phrases[this.Phrases.length] = new cb.CodeBrusher.Phrase(index, length, Class);

之后再根据开始位置排好序
然后就是循环这个数组,根据开始位置和长度截取原始代码的内容,加上span,再组合拼接成新的有带颜色的代码内容
最后输出回页面

this.code = this.originalCode;
	
for(i=0;i<this.Phrases.length;i++){
    var Phrase = this.Phrases[i];
    if(Phrase.index >= pos && Phrase.length > 0){
        colorCode += this.code.substr(pos, Phrase.index-pos);
        var value = this.code.substr(Phrase.index, Phrase.length);
        colorCode += prvePhrase = "<span class='"+Phrase.class+"'>" + value + "</span>";
        pos = Phrase.index + Phrase.length;
    }
}
colorCode += this.code.substr(pos);

思路比较简单,也没有过多测试,先凑合用,以后使用中发现bug再改吧

[转]JavaScript 禁鼠标右键 禁ctrl+c 禁复制

//功能:禁用鼠标右键
document.oncontextmenu = function(){
    alert("该页无法使用右键,系统禁止复制该页信息!");
    return false;
}
//功能:禁用Ctrl+C
document.onkeydown = function(){
    if (event.ctrlKey && window.event.keyCode==67){
        alert("该页无法使用Ctrl+C,系统禁止复制该页信息!");
        return false;
    }
}
//功能:禁用复制功能
document.body.oncopy = function (){
    alert("该页无法复制,系统禁止复制该页信息!");
    return false;
}
//功能:禁用鼠标选取功能
document.onselectstart = function(){
    alert("该页无法选取文字,系统禁止复制该页信息!");
    return false;
}