gpt4 book ai didi

javascript - Angular.js 使用媒体查询数据绑定(bind)背景图像

转载 作者:太空狗 更新时间:2023-10-29 16:01:05 24 4
gpt4 key购买 nike

我有一个带有动态背景图像的 Angular.js 应用程序(应该对其 URL 进行数据绑定(bind))。我还想使用 css 媒体查询来检测方向/像素密度等。

我找到的唯一解决方案是使用 javascript 将 URL 添加到背景图像,如下所示:

myDiv.css({'background' : 'url('+ scope.objectData.poster +') no-repeat', 'background-size':'auto 100%'});

这样我必须将所有媒体查询逻辑传递给 javascript,类似于 this . (我的意图是能够为每个屏幕分辨率/像素密度/方向提供不同的背景图像)

我正在寻找一个更简洁的解决方案来使用 css 媒体查询,并且仍然能够对我的图像源进行数据绑定(bind)。

谢谢!

亚尼夫

最佳答案

这只是解决您的问题的起点。

您可以使用 matchMedia:https://developer.mozilla.org/en-US/docs/Web/API/Window.matchMedia

if (window.matchMedia("(min-width: 400px)").matches) {
$scope.poster = 'small.png';
} else {
$scope.poster = 'big.png';
}

现在你可以在html文件中使用它了:

<div class="moments-preview-image" 
ng-style="{'background-image': 'url('+poster+ ')'}"> ... </div>

如果您的浏览器不支持这个新的 API,您可以看看一些有趣的解决方法:

http://wicky.nillia.ms/enquire.js/

http://davidwalsh.name/device-state-detection-css-media-queries-javascript

关于javascript - Angular.js 使用媒体查询数据绑定(bind)背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com