我有一个包含大量内容块的页面 - $('.asset)
- 指向可下载内容的链接。有一个<select>
元素触发脚本只显示类名与value
的当前<select>
对应的块。
$('select#academy').change(function() {
var value = this.value,
$asset = $('.asset');
$asset.hide().removeClass('is-showing');
$('.asset.' + value).show().addClass('is-showing');
if (value == 'all') {
$asset.show().addClass('is-showing');
}
});
工作得很漂亮。这些块包含使用以下脚本随时调整大小的方块:
$(window).resize(function() {
var $assetTitle = $('.asset-title'),
assetWidth = $assetTitle.width();
$assetTitle.css('height', assetWidth + 32);
}).resize();
在我测试过的所有浏览器中都能正常运行,并且在移动设备的页面加载上呈现得很好。
我发现在我的iOS设备上,当我更改value
的{{1}}时,一旦我开始滚动,select
脚本似乎就会消失,我的所有.resize()
元素都会丢失$('.asset-title')
。
这是一个实时项目的错误,因此您可以在此处查看(并查看标记/检查样式):adaptiva.com/academy
我的脚本正在计算第一个height
元素的宽度,该元素可能隐藏在.asset
上。我将我的脚本更改为仅定位可见的.change()
元素(使用类.asset
),并相应地相应地计算它们的高度。