Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在基于选定样式表的页面之间导航时切换链接文本_Javascript - Fatal编程技术网

Javascript 在基于选定样式表的页面之间导航时切换链接文本

Javascript 在基于选定样式表的页面之间导航时切换链接文本,javascript,Javascript,我已经在我的网站上安装了一个脚本,允许低对比度设置和高对比度设置,因为我的网站将被视障人士使用。剧本写得很好。唯一的问题是当访问者访问站点的多个页面时 首次访问站点时,默认情况下,低对比度设置有效,并且仅显示指向高对比度设置的链接。如果我随后访问网站的其他页面,默认情况下,低对比度设置有效,并且仅显示高对比度链接 (这是完美的,也是应该的) 问题就在这里。如果单击“高对比度”链接以在“高对比度”设置中查看页面,然后转到另一个页面,则另一个页面将显示在“高对比度”设置中(应显示),而不是显示指向“

我已经在我的网站上安装了一个脚本,允许低对比度设置和高对比度设置,因为我的网站将被视障人士使用。剧本写得很好。唯一的问题是当访问者访问站点的多个页面时

首次访问站点时,默认情况下,低对比度设置有效,并且仅显示指向高对比度设置的链接。如果我随后访问网站的其他页面,默认情况下,低对比度设置有效,并且仅显示高对比度链接 (这是完美的,也是应该的)

问题就在这里。如果单击“高对比度”链接以在“高对比度”设置中查看页面,然后转到另一个页面,则另一个页面将显示在“高对比度”设置中(应显示),而不是显示指向“低对比度”设置的链接 (我希望发生这种情况),会出现一个指向高对比度设置的链接(这没有意义,因为页面已经处于高对比度设置中)

为了解决这个问题,我知道如果我在每个页面的开头放一个“查询字符串javascript”,每个页面中的链接都会将当前对比度设置传递到下一个页面(只要访问者带着链接四处移动,而不是直接在地址栏中键入)。有人知道如何创建这样的“查询字符串javascript”吗?我试图自己创建这样一个字符串,但没有成功

我的网站还没有完成,但我在网站上发布了几页,所以你可以看到我在说什么


感谢您抽出时间,Chris查看您网站上的代码,我可以看到您正在使用DynamicDrive.com上的一些示例代码。这段代码已经在使用cookie跟踪在页面之间切换时要使用的样式表(高对比度或“无”表示低对比度)

您所需要做的就是添加一个javascript行来切换选择样式表的span链接的可见性。这需要在页面加载时运行。
更新:因为代码需要在每个页面中运行,所以只需更改“
script_1.js
”文件即可。它当前有一个名为
FixRows()
的函数,该函数在
窗口中运行。onload
事件。只需在其中添加新代码,如下所示:

// JavaScript Document
function FixRows(){
  var oddclass = 'sld';
  var evenclass = 'sl';
  var ulID = 'listings';
  var listings = document.getElementById(ulID);
  if(listings !=null){
    var rows = listings.getElementsByTagName('li');
    var len = rows.length;
    for(var i = 0; i < len; i++){
      rows[i].className = (i%2)?oddclass:evenclass;
    }
  }

  /* new code here */
  if(getCookie("mysheet") == 'highcontrast'){
    swapFor('Hc','Lc');   
  }
  /* end new code */

};
window.onload = FixRows;
//JavaScript文档
函数FixRows(){
var oddclass='sld';
var evenclass='sl';
var ulID='listings';
var listings=document.getElementById(ulID);
如果(列表!=null){
var rows=listings.getElementsByTagName('li');
var len=rows.length;
对于(变量i=0;i
你应该重新表述你的问题。我同意gab的观点。您可能还需要包含一些代码。我建议使用cookies而不是查询字符串(更容易管理)。我看了他的脚本,他实际上在使用cookies,我只是想了解它们的格式。(不是这方面的专家)我知道这与问题无关,但你不应该用表格来决定你的布局。你好,Gab Royer和Evert,谢谢你花时间阅读我的帖子并回复。Gab Royer,我知道我不应该用表格来决定我的布局。我的css布局知识并没有那么先进,我对使用纯css布局犹豫不决,除非我确信我知道自己在做什么(事实并非如此)。祝你度过愉快的一天,并致以亲切的问候,克里斯