加载后取出Cufon

时间:2011-08-11 22:18:53

标签: javascript cufon

我知道这有点奇怪,但我在我的一个页面上使用Cufon,但如果用户按下按钮,我需要能够关闭所有元素。

现在我希望会有像Cufon.Reset(选择器)之类的东西,但我找不到任何东西,那么有没有办法将Cufoned文本重新转换为标准文本而不刷新页面?

4 个答案:

答案 0 :(得分:2)

不要这么认为。 Cufon正在创造一个img。因此,无法在不刷新页面的情况下撤消它。

你可以写一些脚本:

  • 在运行Cufon之前复制文本(复制html标签并隐藏它)
  • 而不是按钮单击隐藏cufon并显示带有纯文本的复制文本元素

我建议在IE,FF,Safari上使用@ font-face而不是Cufon。 Chrome就是80%的品质。

查看this website - 它正在使用@ font-face方法。工作完美。

答案 1 :(得分:1)

假设所有H1标签都采用cufont风格。要执行此操作,您将使用:

Cufon.replace('h1');

如果您想恢复cufon操作,可以使用:

$('h1').each(function(){
    $(this).find('cufon').each(function(){
        $(this).replaceWith($(this).find('cufontext').text())
    })
})

答案 2 :(得分:0)

var RemoveCufon = function (selector) {
    $(selector).each(function (index, element) { $(element).text(BuildCufonTextString(element)); });
};

var BuildCufonTextString = function (parent) {
    var elementText = "";
    $("cufon cufontext", parent).each(function (index, element) { elementText += $(element).text(); });
    return $.trim(elementText);
};

这是一种可行的手动方式,但是想知道更简单......

答案 3 :(得分:0)

我刚刚完成了实现这里讨论的其中一个脚本的简单版本的整个过程,以便从cufontext标签中获取文本。它运作得很好:

var nameFromCufon = $(profileName).find('cufontext').each(function(){
    $(this).replaceWith($(this).text())
})

ProfileName是围绕cufon标记的直接父span标记。然后我尝试了一些如此简单的事情,这太明显了:     $(PROFILENAME)的.text();

.text只给出了删除了所有标记代码的文本。很简单。