使用Bootstrap为你的博客园自定义轮播图片

  首先上效果图javascript

效果图不上也能够,你们直接看我博客就看到效果了,每三秒钟轮播一次。自定义博客园很简单。由于博客园支持咱们加载js,因此咱们怎么玩均可以。css

申请开通js权限

首先第一步是申请开通js权限,在这里我不得不说园子的管理效率也过高了。原本觉得至少要等一天才能开通权限,结果我24分发邮件,27分就回复我权限已经开通了。html

引入Bootstrap css和js 文件

要使用Bootstrap咱们首先要引入Bootstrap的js和css文件,为了提升效率,也为了给园子服务器减小压力(☺☺☺☺估计也没几个浏览量),咱们使用CDN引入java

页首引入<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">。jquery

页脚引入<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script><script src="http://cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>bootstrap

这儿注意博客园也引入了jquery ,按理说咱们不用引入,可是由于,园子的jquery版本过低,使用Bootstrap会报错。因此咱们再次引入jquery。这儿注意jquery屡次引用可能在某些特殊状况下会带来一些特殊问题。若是jquery版本里处理过可能能避免这种状况。通常项目中咱们都会使用最新的jquery,因此这儿关于屡次引用jquery的问题不在这儿讨论。服务器

个人博客园使用的模板是app

//这一句代码隐藏了我博客模板里面的一个背景图片
$(".day").css("background-image", "url('')"); 
//将模板的右侧div设置距离顶端250px;
$("#leftcontent").css("top","250px");
//设置轮播时间为3秒
$('.carousel').carousel({ interval: 3000});

引入html代码

Bootstrap的使用太简单了,直接复制拿过来用就能够了。dom

<div style="height:250px;overflow:hidden"  id="carousel-example-generic" class="carousel slide" data-ride="carousel">
    <!-- Indicators -->
    <ol class="carousel-indicators">
        <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
        <li data-target="#carousel-example-generic" data-slide-to="1"></li>
        <li data-target="#carousel-example-generic" data-slide-to="2"></li>
    </ol>

    <!-- Wrapper for slides -->
   <div class="carousel-inner" role="listbox">
        <div class="item active">
            <img src="https://images0.cnblogs.com/blog2015/497507/201504/072234156804516.png" />
            <div class="carousel-caption">
                艾斯之死
            </div>
        </div>
        <div class="item">

            <img src="https://images0.cnblogs.com/blog2015/497507/201504/072224541964718.png" />
            <div class="carousel-caption">
                艾斯之解放
            </div>
        </div>
        <div class="item">
            <img src="https://images0.cnblogs.com/blog2015/497507/201504/072232079464539.png" />
            <div class="carousel-caption">
                艾斯与小马哥
            </div>
        </div>
    </div>

    <!-- Controls -->
    <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div>

注意咱们这儿的标题文字被覆盖了,由于图片是随便找的,大小上没有微调,因此有的大一些,有的小一些,而后咱们经过overflow直接隐藏了,因此下面的标题没有显示。ide

style="height:250px;overflow:hidden" 

至此咱们保存一下,就能够看到博客最上面轮播图片了。

使用script textarea标签动态加载DOM元素

轮播图片作好了。可是由于图片较大,加载起来较慢。打算只在首页和该贴的页面增长轮播图片的。这样的话只须要用javascript判断一下http地址就行了。以下

var host = window.location.href;
 if (host == "http://www.cnblogs.com/santian/p/4389675.html") {
   //这里动态加载dom元素
 }

这样就须要动态加载dom元素,由于若是使用display:none的话,页面一渲染任然会加载图片,加载速度仍是很慢。因此这儿咱们须要另外的方法来加载dom元素。有下面两种方法。

//script
<script type="text/html" id="theTemplate">
    <div class="dialog"><div class="title"><img src="close.gif" alt="点击能够关闭" />亲爱的提示条</div><div class="content"><img src="delete.jpg" alt="" /><span>您真的要GG吗?</span></div><div class="bottom"><input id="Button2" type="button" value="肯定" class="btn"/>  <input id="Button3" type="button" value="取消" class="btn"/></div></div>
</script>

//textarea
<textarea id="theTemplate" style="display:none">
    <div class="dialog"><div class="title"><img src="close.gif" alt="点击能够关闭" />亲爱的提示条</div><div class="content"><img src="delete.jpg" alt="" /><span>您真的要GG吗?</span></div><div class="bottom"><input id="Button2" type="button" value="肯定" class="btn"/>  <input id="Button3" type="button" value="取消" class="btn"/></div></div>
</textarea>

上面的两种存放的html能够当作字符串资源来使用以下

//使用script包裹
var template = document.getElementById("theTemplate").innerHTML ;
//使用textarea包裹
var template = document.getElementById("theTemplate").value ;
//下面是我使用的动态加载dom元素的代码
var template = document.getElementById("theTemplate").innerHTML;
$("body").prepend(template);

  

经过使用这种方法。咱们可让整个html加载完毕了再去加载图片,这样就不会拖慢速度。

注:图片和个人模板风格不很配,等慢慢搜集一些喜欢的图片放上面。另外上面的图片可能让人看着眼花缭乱。感到心烦,之后慢慢调整,忘你们海涵。。。。

本文地址:http://www.cnblogs.com/santian/p/4400984.html

博客地址:一天两天三天

转载请以超连接形式标明文章原始出处。
相关文章
相关标签/搜索