gpt4 book ai didi

php - 当jquery向网页添加宽元素时动态重置iPhone iPad上的视口(viewport)

转载 作者:行者123 更新时间:2023-12-01 06:00:57 26 4
gpt4 key购买 nike

当我从插入 div 元素的表单返回信息时,我目前正在努力解决 iPhone 的视口(viewport)设置(3/4/4s),该元素必须比初始视点设置更宽.

我在下面提供了一个非常基本的演示,以准确地简化正在发生的事情,但它只有在使用 iPhone 观看时才有意义(由于屏幕的额外宽度,在普通计算机浏览器上看起来很好。

或者简单来说:

1) 我的视口(viewport)设置如下:<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1">

在 iPhone 4s 上查看网页时,这会提供 320 像素的初始宽度。

2) 当我使用 jquery(ajax 请求)在页面上提交表单时,ajax 请求返回一些 html 代码,其中包含 必须 宽度为 500 像素的 div。这将被插入到当前网页中。

3) 现在视口(viewport)太小,无法看到这个插入的 div 元素的整个宽度。

4) 如何动态重置视口(viewport)或缩小以确保我可以看到这个新的 div,而无需用户手动执行任何操作?

5) (这个 div 被插入到页面顶部,而表单在其下方。是否可以将用户重新定位回页面顶部?我认为 window.scrollTo(0, 0); 有效,但是我不确定。)

这是一个非常简单的演示,但您必须在 iPhone 上查看。

<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1">
<style>
#clickbox { background:yellow; display: block;}
.box { background: red; width: 500px; height:200px; border: 2px solid; margin: 5px}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="clickbox"><button id="button">Click me!</button></div>
<script>
$("#button").click(function (){
$("#clickbox").before( "<div class='box'>Oh look at me! I'm too wide, how can I reset the view point to view my complete width!?</div>" );
});
</script>
</body>
</html>

如果你觉得更容易,这个代码已经是 online here :

我尝试过的:

  1. 元视口(viewport)标签的多种变体。从字面上看,大约有 20 种不同的初始/最小/最大比例组合。
  2. 内容 div 的 jquery minupulation 如下所示:$('a').bind('click',function(event){
    $("#viewport").prop("content","width=550, maximum-scale = 1")
    });
  3. 各种其他疯狂的想法。根本没有一个能正常工作。

非常感谢任何建议或指示。谢谢。

最佳答案

我认为你应该尝试使用.attr而不是.prop

这可以工作,但是您必须使用其他元素的设置:

<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1">
<style>
#clickbox { background:yellow; display: block;}
.box { background: red; width: 640px; height:200px; border: 2px solid; margin: 5px}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="clickbox"><button id="button">Click me!</button></div>
<script>
$("#button").click(function (){
$('#viewport').attr('content', 'width=device-width, initial-scale=0.5');
$("#clickbox").before( "<div class='box'>Oh look at me! I'm too wide, how can I reset the view point to view my complete width!?</div>" );
});
</script>
</body>
</html>

查看 $('#clickbox')... 之前添加的新行:

$('#viewport').attr('content', 'width=device-width, initial-scale=0.5');

我希望这可以帮助您走上正确的道路。

关于php - 当jquery向网页添加宽元素时动态重置iPhone iPad上的视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11558358/

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