<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<style>
.gimg{width:50px;height:50px;}
.goodsone{float:left;}
.goodsone h1{cursor:pointer}
.goodsone h1.selected{border:1px solid #ccc;background-color: #C00;}
</style>
</head>
<body>
<div ng-app="myApp1" ng-controller="myCtrl1" class="testtop container"> <div class="goodsone " ng-repeat="x in allGoods"> <h1 class="goodstitle" ng-click="toggle($event,$index);" ng-if="$index != 0">{{x.title}}</h1>
<h1 class="goodstitle selected" ng-click="toggle($event,$index);" ng-if="$index == 0">{{x.title}}</h1> <div ng-show="myCurrent == $index" class="realcontent"> <ul>
<li ng-repeat="y in x.goods">
<dl><dt >{{y.name}}</dt>
<dd>{{y.price}}</dd><dd><a href="product-{{y.id}}.html"><img class="gimg" ng-src="{{y.img}}"></a></dd></dl>
</li>
</ul> </div> </div> </div>
<script>
var app = angular.module('myApp1', []);
app.controller('myCtrl1', function($scope) {
$scope.allGoods=[ {
title: '标题1',
goods: [{
id: '1',
name: 'Jani',
country: 'Norway',
price: "1.00",
img: 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png'
},
{
id: '2',
name: 'Hege',
country: 'Sweden',
price: "2.00",
img: 'http://p0.meituan.net/avatar/1dff8c38406d4d6b6540c69503f409d357171.jpg'
},
{id: '3', name: 'Kai', country: 'Denmark', price: "3.00", img: 'http://up.qqjia.com/z/25/tu32695_9.jpg'}
]
},
{
title: '标题2',
goods: [{
id: '2',
name: 'Jani222',
country: 'China',
price: "6.00",
img: 'http://desk.fd.zol-img.com.cn/t_s960x600c5/g5/M00/01/0E/ChMkJlbKwaOIN8zJAAs5DadIS-IAALGbQPo5ngACzkl365.jpg'
},
{
id: '6',
name: 'Sk',
country: 'Sweden2',
price: "5.00",
img: 'http://cdn.duitang.com/uploads/item/201610/20/20161020070310_c5xWi.jpeg'
},
{
id: '3', name: 'Kai', country: 'Denmark', price: "3.00", img: 'http://up.qqjia.com/z/25/tu32695_9.jpg'
}
]
},
{
title: '标题3',
goods: [{
id: '4',
name: 'OOMD',
country: 'Yuena',
price: "63.00",
img: 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png'
},
{
id: '6',
name: 'JKHD',
country: 'MMLLD',
price: "25.00",
img: 'http://p0.meituan.net/avatar/1dff8c38406d4d6b6540c69503f409d357171.jpg'
},
{
id: '3', name: 'Kai', country: 'Denmark', price: "3.00", img: 'http://up.qqjia.com/z/25/tu32695_9.jpg'
}
]
}
];
$scope.myCurrent=0; $scope.toggle=function(event,indexnow){
var clickele=angular.element(event.target);
//angular.element(document.querySelector(".goodsone h1")).removeClass("selected");
angular.element(document).find('h1').removeClass("selected");
// alert(clickele);
clickele.addClass("selected");
$scope.myCurrent=indexnow;
}
});
</script> </body>
</html>

angular 实现tab切换(循环输出tab标题及tab下属内容,非direct,非include)的更多相关文章

  1. angular绑定数据 使用循环输出列表数据

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  2. 19 Flutter 自定义AppBar 定义顶部Tab切换 底部Tab结合顶部Tab实现类似头条页面布局(27分36秒)

    Flutter AppBar自定义顶部导航按钮图标.颜色以及TabBar定义顶部Tab切换. leading:在标题前面显示的一个控件,在首页通常显示应用的logo:在其他界面通常显示为付汇按钮. t ...

  3. Tab切换类型

    Tab切换类型 点击Tab 滑过Tab 延迟Tab CSS样式 ; ; list-style:none; font-size:12px;} .notice{width:298px; height:98 ...

  4. echarts tab 切换问题整理

    一.bootstrap tabs 解决方案 方式一 tab切换echarts无法正常显示 https://blog.csdn.net/cjs68/article/details/78072382 ta ...

  5. 关于scrollintoview()真的是有意思极了,结合普通tab切换一起看看

    scrollIntoView(alignWithTop) 是html5新特性中的一个元素,他主要是指滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素. alignWithTop是true ...

  6. 教你两招用纯CSS写Tab切换

    说到Tab切换,你可能首先想到的就是使用jQuery,短短几行代码就可以轻松搞定一个Tab切换. 而今天所要分享的,是使用 0 行JS代码来实现Tab切换! 具体效果如下:   Tab切换 方法一:模 ...

  7. jquery TAB切换小插件

    //tab切换 ;(function($, window, document, undefined) { $.fn.tab = function(options) { var defaults = { ...

  8. Angular——tab切换案例

    基本介绍 angular框架下的tab切换,相比较于之前的纯js写的代码,有一个很大的特点就是以数据为驱动,基本上不用搜索dom元素就可以实现效果 基本使用 (1)导航部分使用的是的状态使用的是ng- ...

  9. angular.js实现二级tab切换

    <div class="guide-type"> <h3 ng-class="{true:'active', false:''}[tab == 'pc' ...

随机推荐

  1. 北大poj- 1067

    取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 40058   Accepted: 13520 Descripti ...

  2. android基础(五)网络编程

    android 的网络编程一般可以分为两种:基于Socket的,基于Http的. 一.socket与Http socket封装了TCP/IP协议,TPC/IP协议是传输层协议,主要解决数据如何在网络中 ...

  3. js中快速获取数组中的最大值最小值

    var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a)); //最小值 多维数组如下 v ...

  4. java开发环境

    java开发环境搭建   文中主要内容来自:http://blog.csdn.net/cxwen78/article/details/6400798 .文章对原文有所改动. 1. 开发工具获取 开发工 ...

  5. mozilla firefox 安装flash player

    下载 flash player http://get.adobe.com/cn/flashplayer/ for linux  .tar.gz文件 install_flash_player_11_li ...

  6. 用户新加入Group

    Linux中一个user可以加入多个分组 以下以用户holmes为例,原始用户组为holmes,新加入用户组users 首先进入root模式 [holmes@KirCentOS share]$ su ...

  7. 360个人图书馆 轻松解除网页防复制 (转自老D)

    360个人图书馆会自动采集一些比较好的文章,我的博客文章也被采集过几篇,用过360个人图书馆的人都知道要复制别人的文章需要先收藏到自己的图书馆才可以复制,没有账号右键复制它会直接弹出一个提示登录框.不 ...

  8. Canvas基础

    1.1. 什么是 Canvas canvas 是 HTML5 提供的一个用于展示绘图效果的标签. canvas 原意画布, 帆布. 在 HTML 页面中用于展示绘图效果. 最早 canvas 是苹果提 ...

  9. removeClass color-*

    bootstrap推出一系列的class名称,例如col-md-*.btn-*等等,有时候就会有想要将这一类className删掉的冲动~ 那咋样才能妥妥的实现呢?你是不是已经看到下面答案了,诶诶.. ...

  10. svn客户端命令

    记几个常用的命令. 首次拉仓库时,先要进行检出(url可以带端口号): svn checkout http://svn.example.com:9834/repos svn checkout file ...