jquery多国语言切换特效

news/2024/12/20 9:49:46/文章来源:https://www.cnblogs.com/liylllove/p/18618493

这是一款实现多国语言切换的jquery特效。在这个示例中,通过简单的js代码,实现包括中文和英文在内的7种不同国家语言的切换效果。

 

在线预览  下载

 使用方法

在页面中引入jquery和style.css。

<link rel="stylesheet" href="css/style.css">
<script type="text/javascript" src="path/to/jquery.min.js"></script>
 HTML结构

示例中,整个页面分为两个部分,一部分是选择语言的下拉列表框,另外一部分是显示文字的区域。

<!--选择语言的下拉列表框-->
<div class="translate_wrapper">
  <div class="current_lang">
    <div class="lang">
      <img src="https://image.flaticon.com/icons/svg/299/299722.svg">
      <span class="lang-txt">EN</span>
      <span class="fa fa-chevron-down chevron"></span>
    </div>
</div>
<div class="more_lang">
    <div class="lang" data-value='cn'>
      <img src="https://image.flaticon.com/icons/svg/299/299914.svg">
      <span class="lang-txt">简体中文</span>     
    </div>
     
    <div class="lang selected" data-value='en'>
      <img src="https://image.flaticon.com/icons/svg/299/299722.svg">
      <span class="lang-txt">English<span> (US)</span></span>     
    </div>
    
     
     <div class="lang" data-value='de'>
      <img src="https://image.flaticon.com/icons/svg/299/299786.svg">
      <span class="lang-txt">Deutsch</span>     
    </div>
     
    <div class="lang" data-value='es'>
      <img src="https://image.flaticon.com/icons/svg/299/299820.svg">
      <span class="lang-txt">Español</span>     
    </div
    <div class="lang" data-value='fr'>
      <img src="https://image.flaticon.com/icons/svg/299/299753.svg">
      <span class="lang-txt">Français</span>     
    </div>
    <div class="lang" data-value="pt">
      <img src="https://image.flaticon.com/icons/svg/299/299693.svg">
      <span class="lang-txt">Português<span> (BR)</span></span>     
    </div>
    <div class="lang" data-value="ar">
      <img src="https://image.flaticon.com/icons/svg/299/299815.svg">
      <span class="lang-txt">العربية <span> (SA)</span></span>     
    </div>
  </div>
</div>
<!--文字内容-->
<div class="content">
  <div class="ct-img">
    <img src="img/lizard-765x510.jpg">
  </div>
  <div class="ct-txt">
    <h1 id="title"></h1>
    <p></p>
    <a href="#"><span>Link</span></a>
  </div>
</div>
 JavaScript

实现多国语言切换的js代码页非常简单,各国语言的标题,内容等被存放在一个数组中。

var trans = [
  {
    en : 'Chameleon',
    pt : 'Camaleão',
    es : 'Camaleón',
    fr : 'Caméléon',
    de : 'Chamäleon',
    cn : '变色龙',
    ar : 'حرباء'
  },{
    en : 'For sheer breadth of freakish ......',
    pt : 'Por uma infinidade de caract......',
    es : 'Por pura amplitud de extrañas......',
    fr: "Pour l'ampleur pure des caract......",
    de: 'Wegen der schieren Breite der......',
    cn: '由于极其奇特的解剖特征,变色......',
    ar : 'لمجرد اتساع الميزات التشريحية فظيع، ......'
  },{
    en : 'See More',
    pt : 'Saiba mais',
    es : 'Más información',
    fr : 'En savoir plus',
    de : 'Weitere Infos',
    cn : '查看更多',
    ar : 'مشاهدة المزيد'
  },
   
];             

实现翻译的是translate()函数,它通过数组下标来查找相应的语言。

translate(tnum); 
function translate(tnum){
  $('h1#title').text(trans[0][tnum]);
  $('p').text(trans[1][tnum]);
  $('.content a span').text(trans[2][tnum]);
}               

然后在点击下拉框中的选项时,通过获取data-value的值来得到当前用户选择了什么语言,然后再通过translate()函数将文字转换为相应的语言。

$('.more_lang .lang').click(function(){
    $(this).addClass('selected').siblings().removeClass('selected');
    $('.more_lang').removeClass('active'); 
     
    var img = $(this).find('img').attr('src');   
    var lang = $(this).attr('data-value');
    var tnum = lang;
    translate(tnum);
     
    $('.current_lang .lang-txt').text(lang);
    $('.current_lang img').attr('src', img);
     
    if(lang == 'ar'){
      $('body').attr('dir', 'rtl');
    }else{
      $('body').attr('dir', 'ltr');
    }
     
  });
});   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/855729.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Avalonia 国际化之路:Resx 资源文件的深度应用与探索

在当今全球化的软件开发浪潮中,应用的国际化(i18n)与本地化(L10n)显得尤为重要。Avalonia UI 作为一款强大的跨平台 UI 框架,为开发者提供了多种实现国际化的途径。其中,使用传统的 Resx 资源文件进行国际化处理,不仅兼容了原 Winform、WPF、ASP.NET Core 等开发场景下…

茶饮门店管理新篇章:板栗看板的实践与启示

茶饮企业可以通过板栗看板实现门店管理的优化和效率提升。从创建团队与看板、设置任务与分配、团队协作与沟通、进度跟踪与数据分析到优化与改进以及安全性能保障等方面入手,全面提升门店管理的水平和效率。近期,库迪咖啡以一种创新的“嵌入式”模式迅速扩展,其门店纷纷入驻…

修改网站首页排序,网站首页内容排序方法

修改网站首页内容的排序通常涉及以下几个步骤:登录后台:使用管理员账号登录网站后台。 找到内容管理:在后台导航中找到“内容管理”或“文章管理”。 编辑内容:选择需要排序的内容,点击“编辑”按钮。 设置排序:在编辑页面中,找到排序选项,设置内容的顺序。常见的排序方…

错误码:NET::ERR_CERT_AUTHORITY_INVALID,解决浏览器提示证书无效的问题

当您在访问某个网站时遇到“NET::ERR_CERT_AUTHORITY_INVALID”错误时,这意味着浏览器认为该网站的SSL证书不是由受信任的证书颁发机构(CA)签发的。这可能是由于多种原因造成的,包括证书过期、自签名证书、中间证书缺失等。以下是一些解决方法:检查证书颁发机构:确认证书…

PbootCMS在阿里云主机上邮件发送失败,提示“服务器已经禁用stream_socket_client和fsockopen函数”,如何解决?

当你在阿里云主机上使用PbootCMS时,如果遇到邮件发送失败,并且提示“服务器已经禁用stream_socket_client和fsockopen函数,请至少开启一个才能发送邮件!”的错误,这通常是因为阿里云主机的安全策略禁用了这些函数。以下是详细的解决步骤:登录阿里云管理后台:打开浏览器,…

高效与安全并重:高科技企业如何借助跨网文件交换系统实现双赢!

高科技企业在运营和发展过程中,会积累大量重要的核心数据,这些数据对于企业的技术创新、市场竞争优势以及商业机密保护至关重要。为了保障自身的信息安全、保护知识产权和核心数字资产,高科技企业通常会通过防火墙、网闸、虚拟化等方式,实施企业内网和外网隔离。实施网络隔…

南通知识付费分销系统搭建

图源 www.tuzhi.ltd在当前的教育和软件领域,知识付费模式正在逐渐普及,成为教育和培训行业的重要趋势之一。尤其在数字化转型的大潮中,在线教育系统的作用日益凸显,其为教学者和学习者之间的知识交流搭建了桥梁。以南通为例,当地的教育机构、老师甚至企业都纷纷尝试采用更…

使用STM32定时器输入捕获的一些记录

(最近在学习六步换相驱动直流无刷电机,记录一下其中陌生的定时器功能) 英文标识含义TIx:通道CHx的外部输入信号;霍尔传感器接口 霍尔传感器接口大概功能逻辑:将CH1~3的输入连接到异或器,输出TI1,实现同时对三个信号的边沿检测; TI1经过滤波、边沿检测 -> TI1F_ED信…

AI应用实战课学习总结(2)hello sk-learn

本文快速搭建了Python机器学习的开发环境,并通过一个简单的降维示例学习了scikit-learn的基本用法,完成了一个hello world程序。大家好,我是Edison。 最近入坑黄佳老师的《AI应用实战课》,记录下我的学习之旅,也算是总结回顾。 今天是我们的第2站,了解下scikit-learn框架…

好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!

前言 今天大姚给大家分享一个好消息,GitHub Copilot 可以免费使用了!在此之前若开发者要使用 GitHub Copilot 需要付费订阅,每月订阅费用起步价为 10 美元,而经过验证的学生、教师和开源项目维护者则可以申请免费使用。今天咱们一起来看看在 Visual Studio 使用 GitHub Cop…

读图数据库实战笔记08遍历与子图

遍历与子图1. 使用熟路构建遍历 1.1. 为了避免把开发遍历和构建应用程序混淆1.1.1. 把遍历的编写和测试与应用程序的开发拆分成了两个独立的操作1.1.2. 在Java代码之外独立开发遍历,然后把它们加入应用程序中1.1.3. 现实情况是,大多数开发人员会同时完成两者,不管使用的是哪…

使用css实现圆形的头像的效果(注:要考虑正方形、长方形情况)

在前端开发中,我们经常需要将用户的头像显示为圆形。这可以通过CSS的 border-radius 属性来实现,该属性允许你设置元素的圆角。当 border-radius 设置为 50% 时,无论图片是正方形还是长方形,都会得到一个圆形的效果。但需要注意,长方形图片被裁剪为圆形时,会显示为椭圆形…