在调整大小时,使用laravel中的资产函数加载图像
On resize, loading an image using the asset function in laravel
我有一个带有asset
laravel函数加载的图像的标题:
<img class="logo" src="{{ asset('images/logo-long.gif') }}" id="logo-navbar"></img>
在我的JS脚本中,我希望它检查每当窗口的大小低于700px, img
标签的src
属性改变
所以我实现了这个:
$(window).resize(function(){
width = $(window).width();
if(width <= 700){
$('#logo-navbar').attr('src', '??');
}else{
$('#logo-navbar').attr('src', '??');
}
});
但我不知道如何告诉我的脚本生成一个路径像laravel的资产函数..
有什么想法吗?
当你使用JS更改图像URL时,你根本不应该使用PHP。这是不好的练习。只需手动创建图像URL:
var imageBig = '/images/logo-long.gif';
var imageSmall = '/images/logo-sm.gif';
这通常不是最好的方法,但您可以这样做:
JavaScript:$(window).resize(function(){
width = $(window).width();
if(width <= 700){
$('#logo-navbar').attr('src', '/getAsset/images/logo-long.gif');
}else{
$('#logo-navbar').attr('src', '/getAsset/images/logo-long.gif');
}
});
Routes.php
Route::get("/getAsset/{any}", function ($asset) {
return redirect(asset($asset));
})->where('any', '.*');
我有两种方法。
我要么有一个全局容器
var myApp = {};
在中,我可以通过视图赋值,我赋值为inline
myApp.url = {{ asset('/') }}
或者,如果javascript在视图中
$(window).resize(function(){
var assetUrl = "{{ asset('/') }}";
width = $(window).width();
if(width <= 700){
$('#logo-navbar').attr('src', assetURL +'/images/logo-long.gif');
}else{
$('#logo-navbar').attr('src', assetURL + '/images/logo-long.gif');
}
});
请注意,我通常使用url()而不是asset()来执行此操作-我不确定它是否会以完全相同的方式工作
相关文章:
- 如何通过函数调用设置图像的src
- 无法在java脚本中调用图像的点击事件函数
- 使用setInterval()函数进行图像闪烁
- 如何使用Javascript/Jquery/HTML5函数将HTML页面捕获为图像
- 如何创建背景图像列表'URL,并使用jQuery在单击函数时应用它们
- 带有内置图像对象的Canvas组件构造函数;t显示's图像
- 我可以将javascript绘制函数更改为图像吗
- 多次更改 onclick() 函数(播放/暂停图像更改)
- 如何从 JavaScript 中的函数传回图像
- 在多个元素上运行的函数插入多个图像
- JavaScript - 多参数函数,它是多个图像库的字符串
- 用于图像的 Javascript 函数
- JS函数不访问所有数组图像
- 单击图像更改图像并调用函数
- 如何使用JavaScript函数在HTML页面中正确设置背景图像
- jQuery:一旦加载了图像的子集,就执行函数
- 如何创建一个函数来根据需要加载图像
- 如何使用onmousemove函数在每次鼠标移动时更改背景图像
- 如何在javascript中打开图像,由express.js sendfile函数[+SOLUTION]发送
- 设置函数图像样式