jq中load()方法加载公共元素、iframe加载公共元素

jq中load()方法

在开发过程中很多的元素和内容都是重复的现在的vue、react、angluar的组件开发在很大的程度上就是为了解决这样的一部分问题的但是,框架的主要目的不完全是为了如此;

1、在网站开发过程中有的时候一个页面的头部可能在很多页面中公用,没有使用vue这些框架的情况下jq也是一个很好的工具,
单独创建一个页面例如header.html;
2、将一些公共元素放在header.html中样式和事件也可以放在改页面中click事件等或者a标签的href也可以放在其中;也可以都放在你将要引用的页面中都是可以生效的
3、在你需要该页面的位置添加这样的代码

	<div id="header"></div>
	<script src="js/jquery.js"></script>
	<script>
		//在这里需要注意路径
		$(".header").load("header.html");
	</script>

4、这样就解决了公共元素多余代码的问题了。
5、在load()方法中可能有一个问题就是跨域,因为load()方法使用的ajax的方法加载的所以一些情况可能牵扯到跨域。
6、公共元素的事件尽量都放在当前的页面中切一定注意js事件不能在load()方法的前面不然浏览器会找不到相应的标签,您也可以在header中放置事件的。

还有一中方法就是:

iframe标签引用其他页面的方法;

使用方法如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        html,body{
            height: 100%;
            width: 100%;
            overflow: hidden;
        }
        iframe{
            border: 0;
        }
    </style>
</head>
<body>
   <div style="margin:auto;">
       <h1>This is the Parent Page.</h1>
       <input type="button" value="调用子页面的方法"  onclick="btnClick()"/> 
    </div>
    <div style="margin:auto;">
    	
       <iframe style="width:300px; height:300px;" id="childframe" src="childPage.html"></iframe>
    </div>
</body>
	<script language="javascript" type="text/javascript">
            function parenttest() {
                alert("这是父页面的方法!");
            }
            function btnClick() {
				alert("启动调用子页面的方法");
                document.getElementById("childframe").contentWindow.childtest();
            }
    </script>
</html>
需要注意的是iframe只是引用一个页面并不会将这个页面中的事件 引用如何过需要引用事件就需要上面中用到的方法了------ document.getElementById(“此处放的是iframe的id”).contentWindow.childtest();--------------;

**iframe只是引用样式就像office中调用一个窗口而已,并不会同jq的load()方法那样连带标签也可以解析在当前页面,因为使用iframe的位置放的还是iframe标签
**

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值