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


      首先上效果图

    效果图不上也可以,大家直接看我博客就看到效果了,每三秒钟轮播一次。自定义博客园很简单。因为博客园支持我们加载js,所以我们怎么玩都可以。

    申请开通js权限

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

    引入Bootstrap css和js 文件

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

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

    页脚引入<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>

    这儿注意博客园也引入了jquery ,按理说我们不用引入,但是因为,园子的jquery版本太低,使用Bootstrap会报错。所以我们再次引入jquery。这儿注意jquery多次引用可能在某些特殊情况下会带来一些特殊问题。如果jquery版本里处理过可能能避免这种情况。一般项目中我们都会使用最新的jquery,所以这儿关于多次引用jquery的问题不在这儿讨论。

    我的博客园使用的模板是

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

    引入html代码

    Bootstrap的使用太简单了,直接复制拿过来用就可以了。

    <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直接隐藏了,所以下面的标题没有显示。

    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

    博客地址:一天两天三天

    转载请以超链接形式标明文章原始出处。
  • 相关阅读:
    python之mysqldb模块安装
    消失的那3个月__怎么看代码的小结
    四年测试经验总结
    python学习笔记系列----(八)python常用的标准库
    业务逻辑中的测试总结(二)----业务与数据库交互需求的测试分解
    python学习笔记系列----(七)类
    【QUESTION】
    python学习笔记系列----(六)错误和异常
    python学习笔记系列----(五)输入和输出
    Android6.0.1 移植:显示系统(一)--测试framebuffer
  • 原文地址:https://www.cnblogs.com/santian/p/4400984.html
Copyright © 2020-2023  润新知