我们如何通过数据属性在 Angular js 中根据屏幕大小更改图像源。请在 Angular js 中提出适当的方法。
<img src="abc.jpg" data-desktop="abc.jpg" data-tablet="xyz.png" data-mobile="bcd.jpg" >
最佳答案
您可以使用自定义指令实现此目的。查看工作插件:http://plnkr.co/edit/7oVbjaK0QQPHGjyWzfrA?p=preview
HTML:
<img src="default.jpg" small="small.jpg" big="big.jpg" change-on-screen-resize />
指令:
app.directive("changeOnScreenResize", ["$window", function($window) {
return {
restrict: 'A',
link: function(scope, elem, attrs) {
$window.onresize = function() {
changeImage();
scope.$apply();
}
//no such method 'on' for $window
//$window.on('resize', function(){
//});
changeImage();
function changeImage() {
var screenWidth = $window.innerWidth;
if(screenWidth <= 400) {
//attrs.src = attrs.small;
elem.attr('src', attrs.small);
} else {
elem.attr('src', attrs.big);
}
}
}
};
}])
关于javascript - 通过angular js中的数据属性根据屏幕尺寸更改图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37034274/