jquery动态待装入 HTML 网页内容和动态引入css、动态引入js

简介: jquery动态待装入 HTML 网页内容和动态引入css、动态引入js

jquery动态待装入 HTML 网页内容和动态引入css、动态引入js

 

使用 jquery 提供的方法:load(url, [data], [callback]) ,load 可以一次性引入html、css、js,

通过url引入html内容,通过回调函数callback,引入css、js。

ps:jquery官网文档~https://jquery.cuishifeng.cn/load.html

url:待装入 HTML 网页网址。callback:载入成功时回调函数。

 

(1)只动态引入html内容(使用url参数):语法 jquery对象.load(url);

示例:


$('header').load('头部.html .container');      //头部是一个包含html内容的文件


❀ 头部.html ~(即你需要的内容写成的html代码)

<div class="container">
    <!-- 头部左侧内容 -->
    <div class="left">
        <a href="#">
            <img  src="images/taptap.png" alt="taptap"/>
        </a>
        <a href="#">
            <i class="wifi"></i>
        </a>
        <ul>
            <li>
                <a class="active" href="#">首页1</a>
            </li>
            <li>
                <a href="#">首页2</a>
            </li>
            <li>
                <a href="#">首页3</a>
            </li>
            <li>
                <a href="#">首页4</a>
            </li>
        </ul>
    </div>
    <!-- 头部右侧内容-->
    <div class="right">
        <div class="ipt-box">
            <input type="text" autocomplete="off" placeholder="请输入..."/>
            <i class="fa fa-search"></i>
        </div>
        <a href="#">
            <img src="images/head_portrait.jpg" alt="搜索" />
        </a>
    </div>
</div>


ps: 如果某个部分的布局在很多页面都出现时,把那部分的html布局,放入一个空白的html文件里,

然后在js里使用load方法的参数url动态引入.

 

(2) 动态引入html内容,同时引入其对应的css样式文件:语法 jquery对象.load(url,function(){ //回调函数里引入css文件 });

示例:~ 头部.css 文件就是修饰 头部.html 中的样式的css 文件

$('header').load('头部.html .container',function(){    
    let link = document.createElement('link');
        $(link).attr({
          rel:'stylesheet',
          type:'text/css',
          href:'./css/头部.css'
      });
    $('head').append(link);
});


✿ 将动态引入css封装成一个方法,则可以改写代码:


//封装js动态加载css文件
function addCss(href){
    //判断是否是同文件
    let links = $("link");
    let isHave = false;
    links.each(function (index, element) {
        if($(element).attr('href') === href) {
            isHave = true;
        }
    });
    if (isHave) return;
    let link = document.createElement('link');
    $(link).attr({
        rel:'stylesheet',
        type:'text/css',
        href
    });
    $('head').append(link);
}
//头部:动态加载html页面,且通过function动态引入其对应的css样式
    $('header').load('头部.html .container',addCss('./css/头部.css'));
//或者:
    $('header').load('头部.html .container',function () {
                addCss('./css/Android.css');
          });


ps:如果某个部分的布局在很多页面都出现时,把那部分的css样式,放入一个空白的css文件里,

然后使用js里使用load方法的参数function动态引入:

 

(3) 动态引入html内容,同时引入其对应的css样式文件和js 文件:语法 jquery对象.load(url,function(){ //回调函数里引入css文件,js 文件的引入函数 });


$('header').load('头部.html .container', function () {
                addCss('./css/Android.css');
               //使用jquery的函数getScript(参数是 js文件的路径),动态引入js文件
                $.getScript('js/头部.js',function () {
                    //这里可以写在引入头部.js 文件,还动态生成了什么内容
                });


ps:小案例:使用jquery的load方法,同时引入html、css、js~


//Android对应的内容
            $('section .ranking-core .nav-content').load('Android.html', function () {
                addCss('./css/Android.css');
               //使用jquery动态引入js文件
                $.getScript('js/Android.js',function () {
                    AndroidContInit();
                });
            });


❀ Android.html

<!-- 小导航 -->
<div class="android-content" >
    <nav>
        <ul>
            <li>
                <a href="#" class="active">热榜1</a>
            </li>
            <li>
                <a href="#">热榜2</a>
            </li>
            <li>
                <a href="#">热榜3</a>
            </li>
            <li>
                <a href="#">热榜3</a>
            </li>
        </ul>
    </nav>
    <div class="list">
        <ul>
        </ul>
    </div>
</div>


Android.css 省略......

 

❀ Android.js



function AndroidContInit(){
    let data = [
        {
            id:1,
            num:1,
            title_img:'android_covers/1.png',
            title:'真三国无双霸1',
            manufacturer:'级光',
            score:'8.3',
            desc:'难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过',
            tags:['冒险',' 解密','角色扮演'],
            tag:'冒险',
            desc_img:'android_images/1.jpg'
        },
        {
            id:2,
            num:2,
            title_img:'android_covers/2.png',
            title:'真三国无双霸2',
            manufacturer:'级光',
            score:'8.3',
            desc:'难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过来了不修边幅 走路打击纸片人轻飘飘按键使劲按 然后什么坐骑啊服装加成恶心难搞角色建模移植过',
            tags:['冒险',' 解密','角色扮演'],
            tag:'冒险',
            desc_img:'android_images/1.jpg'
        },
    ];
    listInit(data);
}
//动态生成list
function listInit(data) {
    let list = $('.android-content .list ul');
    data.forEach(function (value, index) {
        list.append(`
                <li>
                <!-- 封面图片 -->
                <a href="#">
                    <img class="title-img" src="${value.title_img}" alt="封面图片" title="${value.title}" />
                </a>
                <!-- 内容描述  -->
                <div class="desc">
                    <div class="top">
                        <!-- 标题 -->
                        <a href="#">${value.title}</a>
                        <div class=" manufacturer">厂商:${value.manufacturer}</div>
                        <!-- 评分 -->
                        <div class="score">
                            <div class="star">
                                <i class="light-star" style="width: ${value.score} * 10%;"></i>
                            </div>
                            <span>${value.score}</span>
                        </div>
                        <!-- 内容描述 -->
                        <p>
                            ${value.desc}
                        </p>
                    </div>
                    <div class="bottom">
                        <div class="left">
                        ${value.tags.map(function (value2, index2) {
                            return `<a href="#">${value2}</a>`;
                        }).join('')}
                        </div>
                        <!-- 右边 -->
                        <span>${value.tag}</span>
                    </div>
                </div>
                <!-- 图片 -->
                <a href="#">
                    <img class="desc-img" src="${value.desc_img}" />
                </a>
                <!-- 名次 -->
                <div class="rank">
                    <span class="ranking-shape"></span>
                    <span class="num">${value.num}</span>
                </div>
            </li>
        `);
    });
}



目录
相关文章
|
1天前
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
37 22
|
10天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
83 24
|
21天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
59 21
|
18天前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
24 2
|
18天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
24天前
|
JavaScript
jQuery和CSS3精美翻页式电子时钟特效
jQuery和CSS3精美翻页式电子时钟特效
|
25天前
|
JavaScript 前端开发
jQuery和CSS3斑马线样式range滑块特效
jQuery和CSS3斑马线样式range滑块特效
|
29天前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
45 3
|
29天前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
76 2
|
2月前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
34 5