Text 是否可以使用onclick等从另一个页面展开文本?
我有头版和产品版。产品页面只有链接:当我单击产品一、产品二等时,信息文本会展开。从首页我有到产品页面的链接,我使用了书签选项,所以滚动条位于产品页面的正确位置Text 是否可以使用onclick等从另一个页面展开文本?,text,onclick,collapse,expand,Text,Onclick,Collapse,Expand,我有头版和产品版。产品页面只有链接:当我单击产品一、产品二等时,信息文本会展开。从首页我有到产品页面的链接,我使用了书签选项,所以滚动条位于产品页面的正确位置 是否可以单击首页上的特定产品,并在产品页面打开时扩展打开的特定产品信息?如果这些是真正独立的页面,那么您不能通过单击事件来完成此操作,因为页面a上的JS不会继续在页面B上执行 但是,您可以将散列锚名称添加到首页上的链接(products.html#prod1,products.html#prod2,等等),然后在产品页上使用JS确定在首页
是否可以单击首页上的特定产品,并在产品页面打开时扩展打开的特定产品信息?如果这些是真正独立的页面,那么您不能通过单击事件来完成此操作,因为页面a上的JS不会继续在页面B上执行 但是,您可以将散列锚名称添加到首页上的链接(
products.html#prod1
,products.html#prod2
,等等),然后在产品页上使用JS确定在首页上选择了哪个产品;这将为您提供足够的信息,以确定在加载产品页面时要扩展哪个产品
从最基本的角度来说,你可以这样做:
if(window.location.hash) {
var prod_sel = window.location.hash;
expand_item(prod_sel);
}
function expand_item(product) {
if(is_a_valid_product(product)) {
//expand product here
}
}
您可以为此使用css伪类
:target
因此,在您的首页上,您可以链接到您的产品页面:
<a href="/products#product-1">Product 1</a>
您可以对此进行扩展,以便只有目标(匹配URL中从散列开始的所有内容的id
)应用特定规则
可能值得注意的是IE8和之前的版本不支持这一点。您同样可以选择基于javascript的兼容性方法。如果您只想控制哪个产品是可见的,这比我的解决方案更优雅;IIRC这不会让你做任何像动画扩展之类的事情——所以实际上,全面的答案将包括这两种方法。你可以用CSS做一些转换:但我认为你是对的——这两种技术的组合将用于IRL。
....
<div class="product-wrapper" id="product-1">
<h2>Some Title</h2>
<img ... />
<div class="content-wrapper">
</div>
</div>
... product 2
... product 3
....
.content-wrapper {
display: none;
}
.product-wrapper:target .content-wrapper {
display: block;
}