搜索
您的当前位置:首页正文

js函数的延迟加载实现代码_javascript技巧

2023-12-03 来源:字库网

代码如下: //非延迟加载的函数,每次调用都会进行条件判断 function removeHandler(target,eventType,handler) { if(target.removeEventListener) { target.removeEventListener(eventType,handler,false); }else { target.detachEvent("on"+eventType,handler); } } //延迟加载的函数,第一次调用后,会覆盖原来的老函数,以后再次调用的是新函数,不会再进行条件的判断,提升效率 function addHandler(target,eventType,handler) { if(target.addEventListener) { addHandler = function(target,eventType,handler){ target.addEventListener(eventType,handler,false); } }else{ addHandler = function(target,eventType,handler){ target.attachEvent("on"+eventType,handler); } } addHandler(target,eventType,handler); } //条件预加载 //条件预加载确保所有函数调用时间相同。其代价是在脚本加载时进行检测。预加载适用于一个函数马上就会被用到,而且在整个页面生命周期中经常使用的场合。 var addEventHandler = document.body.addEventListener ? function(target,eventType,handler) { target.addEventListener(eventType,handler,false); } : function(target,eventType,handler) { target.attachEvent("on"+eventType,handler); }

小编还为您整理了以下内容,可能对您也有帮助:

js如何延时执行下一条语句

javascript提供了setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,因此延迟1秒后执行一个函数可以如下代码实现:

setTimeout("fun()",1000);   // fun()是自定义函数

下面实例演示:打开页面后倒计时3秒,然后弹出对话框

1、HTML结构

<div id="test">3</div>

2、javascript代码

function fun(n){

if(n>0){

n--;

document.getElementById("test").innerHTML = n;

setTimeout("fun("+n+")",1000)

else

alert("时间到!!");

}

window.onload = function(){

setTimeout("fun(3)",1000)

}

3、效果演示

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

js实现延迟加载的几种方法详解

这是一个面试经常问到的问题:js的延迟加载方法 (js的延迟加载有助于提高页面的加载速度)

主要考察对程序的性能方面是否有研究,程序的性能是一个项目不断地追求的,通常也是项目完成后需要长期做的一件事情,像腾讯QQ依然对程序的性能不断地做优化,让用户的体验更好,性能优化的核心思想就是快,可以预先准备数据(如缓存的使用),可以按需获取,可以分段获取等都是常见的优化手段。

解题思路 :

1.defer属性

<script src="file.js" defer> </script>

浏览器会并行下载 file.js和其它有 defer 属性的script,而不会阻塞页面后续处理。defer属性在IE 4.0中就实现了,超过10多年了!Firefox从 3.5 开始支持defer属性 。

注:所有的defer脚本保证是按顺序依次执行的。

2.async属性

<script src="file.js" async> </script>

async属性是HTML5新增的。作用和defer类似,但是它将在下载后尽快执行,不能保证脚本会按顺序执行。它们将在onload 事件之前完成。

Firefox3.6、Opera 10.5、IE 9和 最新的Chrome 和 Safari 都支持 async 属性。可以同时使用 async 和 defer,这样IE 4之后的所有IE 都支持异步加载。

3.动态创建DOM方式 (使用的最多)

<script type="text/javascript">

function downloadJSAtOnload() {

var element = document.createElement("script");

element.src = "defer.js";

document.body.appendChild(element);

}

if (window.addEventListener) //添加监听事件

window.addEventListener("load",downloadJSAtOnload, false); //事件在冒泡阶段执行

else if (window.attachEvent)

window.attachEvent("onload",downloadJSAtOnload);

else

window.onload = downloadJSAtOnload;

</script>

PS: 这里插一句addEventListener() 也是常考的知识点之一:

addEventListener() 方法用于向指定元素添加事件句柄。

使用 removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄。

语法:element.addEventListener(event, function, useCapture)

event (必须)字符串,指定事件名。注意: 不要使用 “on” 前缀。 例如,使用 “click” ,而不是使用 “onclick”。

function (必须)指定要事件触发时执行的函数。当事件对象会作为第一个参数传入函数。 事件对象的类型取决于特定的事件。例如, “click” 事件属于 MouseEvent(鼠标事件) 对象。

useCapture (可选)布尔值,指定事件是否在捕获或冒泡阶段执行。【true:事件句柄在捕获阶段执行; false:默认,事件句柄在冒泡阶段执行】

<p>该实例使用 addEventListener() 方法来向按钮添加点击事件。</p>

<button id="myBtn">点我</button>

<p id="demo"></p>

<script>

document.getElementById("myBtn").addEventListener("click", function(){

document.getElementById("demo").innerHTML = "Hello World";

});

</script>

效果如图:

4.使用Jquery的getScript()方法

$.getScript("outer.js",function(){//回调函数,成功获取文件后执行的函数

console.log("脚本加载完成")

});

从源码可以看出,这个方法最后还是调用了jQuery.ajax()来请求了js文件的。

5.使用setTimeout延迟方法的加载时间

延迟加载js代码,给网页加载留出时间

<script type="text/javascript">

function A(){

$.post("/lord/login",{name:username,pwd:password},function(){

alert("Hello World!");

})

}

$(function (){

setTimeout("A()",1000); //延迟1秒

})

</script>

6.让js最后加载

例如引入外部js脚本文件时,如果放入html的head中,则页面加载前该js脚本就会被加载入页面,而放入body中,则会按照页面从上倒下的加载顺序来运行javascript的代码~~~ 所以我们可以把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度。

上述方法5,6也会偶尔让你收到Google页面速度测试工具的“延迟加载javascript”警告。所以这里的解决方案将是来自Google帮助页面的推荐方案。

//这些代码应被放置在</body>标签前(接近HTML文件底部) <script type="text/javascript">

function downloadJSAtOnload() {

var element = document.createElement("script");

element.src = "defer.js";

document.body.appendChild(element);

}

if (window.addEventListener)

window.addEventListener("load", downloadJSAtOnload, false);

else if (window.attachEvent)

window.attachEvent("onload", downloadJSAtOnload);

else window.onload = downloadJSAtOnload;

</script>

这段代码意思是等到整个文档加载完后,再加载外部文件“defer.js”。

使用此段代码的步骤:

复制上面代码

粘贴代码到HTML的标签前 (靠近HTML文件底部)

修改“defer.js”为你的外部JS文件名

确保你文件路径是正确的。例如:如果你仅输入“defer.js”,那么“defer.js”文件一定与HTML文件在同一文件夹下。

注意:这段代码直到文档加载完才会加载指定的外部js文件。因此,不应该把那些页面正常加载需要依赖的javascript代码放在这里。而应该将JavaScript代码分成两组。一组是因页面需要而立即加载的javascript代码,另外一组是在页面加载后进行操作的javascript代码(例如添加click事件或其他东西)。这些需等到页面加载后再执行的JavaScript代码,应放在一个外部文件,然后再引进来。

若有不足请多多指教!希望给您带来帮助!

总结

几种延迟加载JS代码的方法加快网页的访问速度

本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。
当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点:
1、延迟加载js代码
复制代码
代码如下:
<script
type=”text/javascript”
src=”"
id=”my”></script>
<script
type=”text/javascript”>
setTimeout(“document.getElementById(‘my').src='include/php100.php';
“,3000);//延时3秒
</script>
这样通过延迟加载js代码,给网页加载留出更多的时间!
2、js最后加载方案一
在需要插入JS的地方插入以下代码:
程序代码
复制代码
代码如下:
<span
id=”L4EVER”>LOADING…</span>
当然,那个LOADING…你可以换成自己喜欢的小图片.看起来很有AJAX效果呢.
然后在页面最底端插入:
程序代码
复制代码
代码如下:
<span
id=”AD_L4EVER”>你的JS代码在这里!</span
>
<script>L4EVER.innerHTML=AD_L4EVER.innerHTML;AD_L4EVER.innerHTML=”";</script>
3、让JS最后加载方案二
这个牵涉到网页的加载顺序问题,例如引入外部js脚本文件时,如果放入html的head中,则页面加载前该js脚本就会被加载入页面,而放入body中,则会按照页面从上倒下的加载顺序来运行javascript的代码~~~
所以我们可以把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度。

几种延迟加载JS代码的方法加快网页的访问速度

本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。
当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点:
1、延迟加载js代码
复制代码
代码如下:
<script
type=”text/javascript”
src=”"
id=”my”></script>
<script
type=”text/javascript”>
setTimeout(“document.getElementById(‘my').src='include/php100.php';
“,3000);//延时3秒
</script>
这样通过延迟加载js代码,给网页加载留出更多的时间!
2、js最后加载方案一
在需要插入JS的地方插入以下代码:
程序代码
复制代码
代码如下:
<span
id=”L4EVER”>LOADING…</span>
当然,那个LOADING…你可以换成自己喜欢的小图片.看起来很有AJAX效果呢.
然后在页面最底端插入:
程序代码
复制代码
代码如下:
<span
id=”AD_L4EVER”>你的JS代码在这里!</span
>
<script>L4EVER.innerHTML=AD_L4EVER.innerHTML;AD_L4EVER.innerHTML=”";</script>
3、让JS最后加载方案二
这个牵涉到网页的加载顺序问题,例如引入外部js脚本文件时,如果放入html的head中,则页面加载前该js脚本就会被加载入页面,而放入body中,则会按照页面从上倒下的加载顺序来运行javascript的代码~~~
所以我们可以把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度。

怎么实现JS同步、异步、延迟加载

这次给大家带来怎么实现JS同步、异步、延迟加载,实现JS同步、异步、延迟加载的注意事项有哪些,下面就是实战案例,一起来看一下。

一:同步加载

我们平时使用的最多的一种方式。

<script src="http://yourdomain.com/script.js"></script>

同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止后续的解析,只有当当前加载完成,才能进行下一步操作。所以默认同步执行才是安全的。但这样如果js中有输出document内容、修改dom、重定向等行为,就会造成页面堵塞。所以一般建议把<script>标签放在<body>结尾处,这样尽可能减少页面阻塞。

二:异步加载

异步加载又叫非阻塞加载,浏览器在下载执行js的同时,还会继续进行后续页面的处理。主要有三种方式。

方法一:也叫Script DOM Element

(function(){

var scriptEle = document.createElement("script");

scriptEle.type = "text/javasctipt";

scriptEle.async = true;

scriptEle.src = "http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.min.js";

var x = document.getElementsByTagName("head")[0];

x.insertBefore(scriptEle, x.firstChild);

})();<async>属性是HTML5中新增的异步支持。此方法被称为Script DOM Element 方法。Google Analytics 和 Google+ Badge 都使用了这种异步加载代码。

(function(){;

var ga = document.createElement('script');

ga.type = 'text/javascript';

ga.async = true;

ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

var s = document.getElementsByTagName('script')[0];

s.parentNode.insertBefore(ga, s);

})();但是这种加载方式执行完之前会阻止onload事件的触发,而现在很多页面的代码都在onload时还执行额外的渲染工作,所以还是会阻塞部分页面的初始化处理。

方法二:onload时的异步加载

(function(){

if(window.attachEvent){

window.attachEvent("load", asyncLoad);

}else{

window.addEventListener("load", asyncLoad);

}

var asyncLoad = function(){

var ga = document.createElement('script');

ga.type = 'text/javascript';

ga.async = true;

ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

var s = document.getElementsByTagName('script')[0];

s.parentNode.insertBefore(ga, s);

}

)();这种方法只是把插入script的方法放在一个函数里面,然后放在window的onload方法里面执行,这样就解决了阻塞onload事件触发的问题。

注:DOMContentLoaded与load的区别。前者是在document已经解析完成,页面中的dom元素可用,但是页面中的图片,视频,音频等资源未加载完,作用同jQuery中的ready事件;后者的区别在于页面所有资源全部加载完毕。

方法三:其他方法

由于JavaScript的动态性,还有很多异步加载方法: XHR Injection、 XHR Eval、 Script In Iframe、 Script defer属性、 document.write(script tag)。

XHR Injection(XHR 注入):通过XMLHttpRequest来获取javascript,然后创建一个script元素插入到DOM结构中。ajax请求成功后设置script.text为请求成功后返回的responseText。

//获取XMLHttpRequest对象,考虑兼容性。

var getXmlHttp = function(){

var obj;

if (window.XMLHttpRequest)

obj = new XMLHttpRequest();

else

obj = new ActiveXObject("Microsoft.XMLHTTP");

return obj;

};

//采用Http请求get方式;open()方法的第三个参数表示采用异步(true)还是同步(false)处理

var xmlHttp = getXmlHttp();

xmlHttp.open("GET", "http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.min.js", true);

xmlHttp.send();

xmlHttp.onreadystatechange = function(){

if (xmlHttp.readyState == 4 && xmlHttp.status == 200){

var script = document.createElement("script");

script.text = xmlHttp.responseText;

document.getElementsByTagName("head")[0].appendChild(script);

}

}XHR Eval:与XHR Injection对responseText的执行方式不同,直接把responseText放在eval()函数里面执行。

//获取XMLHttpRequest对象,考虑兼容性。

var getXmlHttp = function(){

var obj;

if (window.XMLHttpRequest)

obj = new XMLHttpRequest();

else

obj = new ActiveXObject("Microsoft.XMLHTTP");

return obj;

};

//采用Http请求get方式;open()方法的第三个参数表示采用异步(true)还是同步(false)处理

var xmlHttp = getXmlHttp();

xmlHttp.open("GET", "http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.min.js", true);

xmlHttp.send();

xmlHttp.onreadystatechange = function(){

if (xmlHttp.readyState == 4 && xmlHttp.status == 200){

eval(xmlHttp.responseText);

//alert($);//可以弹出$,表明JS已经加载进来。click事件放在其它出会出问题,应该是还没加载进来

$("#btn1").click(function(){

alert($(this).text());

});

}

}Script In Irame:在父窗口插入一个iframe元素,然后再iframe中执行加载JS的操作。

var insertJS = function(){alert(2)};

var iframe = document.createElement("iframe");

document.body.appendChild(iframe);

var doc = iframe.contentWindow.document;//获取iframe中的window要用contentWindow属性。

doc.open();

doc.write("<script>var insertJS = function(){};</script><body onload='insertJS()'></body>");

doc.close();GMail Mobile:业内JS内容被注释,所以不会执行,在需要的时候,获取script中的text内容去掉注释,调用eval()执行。

<script type="text/javascript">

/*

var ...

*/

</script>HTML5新属性:async和defer属性

defer属性:IE4.0就出现。defer属声明脚本中将不会有document.write和dom修改。浏览器会并行下载其他有defer属性的script。而不会阻塞页面后续处理。注:所有的defer脚本必须保证按顺序执行的。

<script type="text/javascript" defer></script>

async属性:HTML5新属性。脚本将在下载后尽快执行,作用同defer,但是不能保证脚本按顺序执行。他们将在onload事件之前完成。

<script type="text/javascript" defer></script>

Firefox 3.6、Opera 10.5、IE 9和最新的Chrome和Safari都支持async属性。可以同时使用async和defer,这样IE 4之后的所有IE都支持异步加载。

没有async属性,script将立即获取(下载)并执行,期间阻塞了浏览器的后续处理。如果有async属性,那么script将被异步下载并执行,同时浏览器继续后续的处理。

总结: 对于支持HTML5的浏览器,实现JS的异步加载只需要在script元素中加上async属性,为了兼容老版本的IE还需加上defer属性;对于不支持HTML5的浏览器(IE可以用defer实现),可以采用以上几种方法实现。原理基本上都是向DOM中写入script或者通过eval函数执行JS代码,你可以把它放在匿名函数中执行,也可以在onload中执行,也可以通过XHR注入实现,也可以创建一个iframe元素,然后在iframe中执行插入JS代码。

三:延迟加载

有些JS代码在某些情况在需要使用,并不是页面初始化的时候就要用到。延迟加载就是为了解决这个问题。将JS切分成许多模块,页面初始化时只加载需要立即执行的JS,然后其它JS的加载延迟到第一次需要用到的时候再加载。类似图片的延迟加载。

JS的加载分为两个部分:下载和执行。异步加载只是解决了下载的问题,但是代码在下载完成后就会立即执行,在执行过程中浏览器处于阻塞状态,响应不了任何需求。

解决思路:为了解决JS延迟加载的问题,可以利用异步加载缓存起来,但不立即执行,需要的时候在执行。如何进行缓存呢?将JS内容作为Image或者Object对象加载缓存起来,所以不会立即执行,然后在第一次需要的时候在执行。

1:模拟较长的下载时间:

利用thread让其sleep一段时间在执行下载操作。

2:模拟较长的JS代码执行时间

var start = Number(new Date());

while(start + 5000 > Number(new Date())){//执行JS}这段代码将使JS执行5秒才完成!

JS延迟加载机制(LazyLoad):简单来说,就是在浏览器滚动到某个位置在触发相关的函数,实现页面元素的加载或者某些动作的执行。如何实现浏览器滚动位置的检测呢?可以通过一个定时器来实现,通过比较某一时刻页面目标节点位置和浏览器滚动条高度来判断是否需要执行函数。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

vue自动化表单有哪几种方式

vue-element怎么做出音乐播放器

如何用javascript设置延时执行

使用JavaScript可以实现代码的延时执行,也就是说当一个函数被调用时不立即执行某些代码,而是等一段指定的时间后再执行,这就叫做计时事件。二、JavaScript 的计时事件的函数setTimeout() - 在指定时间后执行代码clearTimeout() - 取消 setTimeout()注意:setTimeout() 和 clearTimeout() 都是HTML DOM 的 Window 对象的函数。三、setTimeout详解var t=setTimeout("javascript 语句",时间参数)注:时间参数单位为毫秒示例:var t=setTimeout("alert('3 seconds!')",3000)如果js语句带变量,则必须用+号将变量连接起来,如:var t=setTimeout("document.getElementById("+menuid+").style.display='none'",3000)四、clearTimeout详解语法:clearTimeout(setTimeout的变量名)示例:clearTimeout(t) //其中t为前面设置的setTimeout的变量使用clearTimeout可以随时停止计时。五、应用技巧建议将setTimeout单独设置为一个函数。如:function delayRun(code,time) {var t=setTimeout(code,time);}这样,在需要让某段代码延时执行的时候,只需在这段代码前加入这个函数就可以了。如:onmouseover=delayRun("setTab(0,0)",500)其中setTab是一个自定义的函数。如果以后不想让setTab延时执行,则去掉语句中的delayRun相关的代码即可,改为:onmouseover=setTab(0,0) 就可以了。这种写法避免每一个需要延时的地方都写一段setTimeout的代码,只需要直接调用就可以了,很方便。也节省了代码的量。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

上一篇:

下一篇:

热门图文

  • 送周子华南归的作者 送周子华南归的作者是什么]

    《送周子华南归》陆文圭作者:陆文圭。《送周子华南归》作者:陆文圭。年代:元代。别称:墙东先生。字号:字子方。出生地:江阴(今属江苏)人。出生时间:1252。去世时间:1336。主要作品:《辛卯二月记异》《新移瑞香不得雨有叹》《月·青天一片玉》《挽吉州刘总管》《为刘君符赋乐山诗》等。我们为您从以下几个方面提供送周子华南归的详细介绍。一、《送周子华南归》的全文 点此查看《送周子华南归》的详细内容。此日与君别,重逢未有期。衰年行欲尽,近事或难知。浩荡风云会,萧条草木悲。三吴多俊杰,试与问安危。二、《送周子华南归》陆文圭其他诗词《赤壁图·公瑾子瞻二龙》、《题戴嵩牛图》、《雅宜山在城西五十里有德庵在其下穹寄山福寺》、《送仲华葛兄·蓉城诸葛何绵绵》、《送徐舜辑·彦霖父子魏公客》。相同朝代的诗歌;

  • 次韵叶硕夫南归见贻的全文

    《次韵叶硕夫南归见贻》李弥逊全文:未挂丹题雁塔中,重来溪上觅筠翁。相期老眼横遥碧,莫着征衫走软红。得失漫嗟蝉翼重,才名合见马群空。三年小度惊人手,未信朱衣也不公。《次韵叶硕夫南归见贻》全文:未挂丹题雁塔中,重来溪上觅筠翁。相期老眼横遥碧,莫着征衫走软红。得失漫嗟蝉翼重,才名合见马群空。三年小度惊人手,未信朱衣也不公。作者:李弥逊。年代:宋代。我们为您从以下几个方面提供次韵叶硕夫南归见贻的详细介绍。一、《次韵叶硕夫南归见贻》的全文 点此查看《次韵叶硕夫南归见贻》的详细内容。未挂丹题雁塔中,重来溪上觅筠翁。相期老眼横遥碧,莫着征衫走软红。得失漫嗟蝉翼重,才名合见马群空。三年小度惊人手,未信朱衣也不公。

  • 送周子华南归的作者是什么

    《送周子华南归》陆文圭作者:陆文圭。《送周子华南归》作者:陆文圭。年代:元代。别称:墙东先生。字号:字子方。出生地:江阴(今属江苏)人。出生时间:1252。去世时间:1336。主要作品:《辛卯二月记异》《新移瑞香不得雨有叹》《月·青天一片玉》《挽吉州刘总管》《为刘君符赋乐山诗》等。我们为您从以下几个方面提供送周子华南归的详细介绍。一、《送周子华南归》的全文 点此查看《送周子华南归》的详细内容。此日与君别,重逢未有期。衰年行欲尽,近事或难知。浩荡风云会,萧条草木悲。三吴多俊杰,试与问安危。二、《送周子华南归》陆文圭其他诗词《赤壁图·公瑾子瞻二龙》、《题戴嵩牛图》、《雅宜山在城西五十里有德庵在其下穹寄山福寺》、《送仲华葛兄·蓉城诸葛何绵绵》、《送徐舜辑·彦霖父子魏公客》。相同朝代的诗歌;

  • 次韵叶硕夫南归见贻全文

    《次韵叶硕夫南归见贻》李弥逊全文:未挂丹题雁塔中,重来溪上觅筠翁。相期老眼横遥碧,莫着征衫走软红。得失漫嗟蝉翼重,才名合见马群空。三年小度惊人手,未信朱衣也不公。《次韵叶硕夫南归见贻》全文:未挂丹题雁塔中,重来溪上觅筠翁。相期老眼横遥碧,莫着征衫走软红。得失漫嗟蝉翼重,才名合见马群空。三年小度惊人手,未信朱衣也不公。作者:李弥逊。年代:宋代。我们为您从以下几个方面提供次韵叶硕夫南归见贻的详细介绍。一、《次韵叶硕夫南归见贻》的全文 点此查看《次韵叶硕夫南归见贻》的详细内容。未挂丹题雁塔中,重来溪上觅筠翁。相期老眼横遥碧,莫着征衫走软红。得失漫嗟蝉翼重,才名合见马群空。三年小度惊人手,未信朱衣也不公。

  • 送周子华南归的作者

    《送周子华南归》陆文圭作者:陆文圭。《送周子华南归》作者:陆文圭。年代:元代。别称:墙东先生。字号:字子方。出生地:江阴(今属江苏)人。出生时间:1252。去世时间:1336。主要作品:《辛卯二月记异》《新移瑞香不得雨有叹》《月·青天一片玉》《挽吉州刘总管》《为刘君符赋乐山诗》等。我们为您从以下几个方面提供送周子华南归的详细介绍。一、《送周子华南归》的全文 点此查看《送周子华南归》的详细内容。此日与君别,重逢未有期。衰年行欲尽,近事或难知。浩荡风云会,萧条草木悲。三吴多俊杰,试与问安危。二、《送周子华南归》陆文圭其他诗词《赤壁图·公瑾子瞻二龙》、《题戴嵩牛图》、《雅宜山在城西五十里有德庵在其下穹寄山福寺》、《送仲华葛兄·蓉城诸葛何绵绵》、《送徐舜辑·彦霖父子魏公客》。相同朝代的诗歌;

Top